c++如何把数组的最后一个元素移到第一个
时间: 2024-09-08 10:01:50 浏览: 48
关于C++信息学竞赛一维数组及其应用52个源文件及试题
在C++中,将数组的最后一个元素移动到第一个位置可以使用双指针技术,通常涉及到数组的前移操作。这里是一个简单的示例,假设有一个整型的一维数组`arr[]`:
```cpp
#include <iostream>
void swapAndMoveLast(int arr[], int size) {
// 如果数组为空或只有一个元素,无需处理
if (size <= 1) return;
// 将最后一个元素与第一个元素交换
std::swap(arr[0], arr[size - 1]);
// 使用双指针,一个指向第一个元素,另一个从第二个元素开始
int first = 0;
int second = 1;
// 当second小于数组长度时,继续循环
while (second < size) {
// 交换当前两个元素
std::swap(arr[first], arr[second]);
// 移动指针
first++;
second++;
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
std::cout << "Before moving:\n";
for (int i : arr) {
std::cout << i << ' ';
}
swapAndMoveLast(arr, size);
std::cout << "\nAfter moving last element to the front:\n";
for (int i : arr) {
std::cout << i << ' ';
}
return 0;
}
```
在这个例子中,`swapAndMoveLast`函数接收数组和其大小作为参数,并通过迭代将除第一个元素外的所有元素向左移动一位。
阅读全文