有n个整数,使前面各数顺序向后移m个位置,最后m 个数变成最前面m 个数,写一函数实现以上功能,在主函数中输入n个整数和输出调整.可以用一个或多个数组完成后的n个数
时间: 2023-12-20 13:15:56 浏览: 231
python 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数(示例)
好的,这是一个简单的实现:
```c++
#include <iostream>
using namespace std;
void shift(int arr[], int n, int m) {
int temp[m];
for (int i = 0; i < m; i++) {
temp[i] = arr[n - m + i];
}
for (int i = n - 1; i >= m; i--) {
arr[i] = arr[i - m];
}
for (int i = 0; i < m; i++) {
arr[i] = temp[i];
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int m = 2;
shift(arr, n, m);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果:
```
4 5 1 2 3
```
其中,`shift`函数接收三个参数,分别是整数数组 `arr`、数组长度 `n` 和需要移动的位置数 `m`。该函数首先将最后的 `m` 个元素存入临时数组 `temp` 中,然后将前面的 `n-m` 个元素向后移动 `m` 个位置,最后将 `temp` 中的 `m` 个元素放到数组前面。
阅读全文