c++如何把数组中元素整体往后移一位
时间: 2024-11-22 13:40:31 浏览: 6
在 C++ 中,如果你想将数组的所有元素整体向后移动一位,一种常见的做法是使用数组的索引来实现。假设有一个整型数组 `arr` 和它的大小 `n`,你可以创建一个新的临时数组 `temp` 来保存原数组的后 n-1 个元素,然后将剩余的一个元素复制到临时数组的起始位置。
以下是一个简单的示例:
```cpp
#include <iostream>
void shiftArray(int arr[], int n) {
// 如果数组为空或只包含一个元素,无需移动
if (n <= 1)
return;
// 创建临时数组,大小为n-1
int temp[n - 1];
// 将原数组的后n-1个元素复制到临时数组
for (int i = 0; i < n - 1; ++i) {
temp[i] = arr[i + 1];
}
// 将原数组的最后一个元素复制到第一个位置
arr[0] = arr[n - 1];
// 将临时数组的元素放回原数组
for (int i = 1; i < n - 1; ++i) {
arr[i] = temp[i - 1];
}
}
// 示例
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
shiftArray(arr, n);
for (int i : arr) {
std::cout << i << " ";
}
return 0;
}
```
运行这个程序,你会看到数组 `{1, 2, 3, 4, 5}` 变成了 `{5, 1, 2, 3, 4}`。
阅读全文