有n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。的C++
时间: 2024-01-25 19:03:50 浏览: 69
一种实现方式是:先将整个数组翻转,然后再将前m个数和后面的n-m个数分别翻转一次即可。
代码实现如下:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
void reverse(int arr[], int start, int end) {
// 翻转数组arr中从start到end的元素
while (start < end) {
swap(arr[start], arr[end]);
start++;
end--;
}
}
void move(int arr[], int n, int m) {
// 先将整个数组翻转
reverse(arr, 0, n-1);
// 再将前m个数和后面的n-m个数分别翻转一次
reverse(arr, 0, m-1);
reverse(arr, m, n-1);
}
int main() {
const int N = 100;
int arr[N];
int n, m;
// 输入n个整数
cin >> n;
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
// 输入移动的位置m
cin >> m;
// 移动数组
move(arr, n, m);
// 输出移动后的数组
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
return 0;
}
```
输入样例:
```
6
1 2 3 4 5 6
2
```
输出样例:
```
5 6 1 2 3 4
```
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)