1008 数组元素循环右移问题 (20 分)
输入格式:
每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数,之间用空格分隔。
输出格式:
在一行中输出循环右移M位以后的整数序列,之间用空格分隔,序列结尾不能有多余空格。
输入样例:
6 2
1 2 3 4 5 6
输出样例:
5 6 1 2 3 4
思路:
使用
v
e
c
t
o
r
vector
vector存储数据;
弹出最后的
M
M
M个元素,然后依次插入到容器开头即可。
示例代码:
#include<iostream>
#include<vector>
using namespace std;
int main(){
int N,M;
vector<int>v1;
cin>>N>>M;
int num;
for(int i=0;i<N;i++){
cin>>num;
v1.push_back(num);
}
for(int i=0;i<M;i++){//弹出最后 M个元素
int temp=v1.back();
v1.pop_back();
v1.insert(v1.begin(),temp);//插入到开头
}
int flag=0;//格式
for(auto x:v1){
if(flag==1)
cout<<" ";
cout<<x;
flag=1;
}
return 0;
}