分析:将数组进行三次逆置操作,即可得到原地右移数组
PS:基础的数据结构题,练习时建议不要取巧直接输出。
#include <iostream>
#include <algorithm>
using namespace std;
int inverse(int arr[], int head, int tail){//数组逆置
for(int i=head, j = tail-1; i<j; i++, j--){
swap(arr[i], arr[j]);
}
}
int main()
{
int n, m;
cin>>n>>m;
m %= n;
int arr[n+10];
for(int i=0; i<n; i++){
cin>>arr[i];
}
inverse(arr, 0, n);
inverse(arr, 0,m);
inverse(arr, m, n);
for(int i=0; i<n; i++){
cout<<arr[i]<<(i!=n-1?" ":"\n");
}
return 0;
}