题目描述
设有长度为n(n>1)的顺序表R,将R中保存的序列循环左移P(0 < P < n)个位置,即将R中的数据由(x0,x1,…,xn-1)变换为(xp,xp+1,…,xn-1,x0,x1,…,xp-1)。如果p值不合法,输出“error!”。
输入
第一行为数据元素个数n; 第二行为n个整数; 第三行为要左移的位数p
输出
移动后的序列。
#include <bits/stdc++.h>
using namespace std;
int n, a[1005], p;
int main(){
cin>>n;
for(int i = 0; i < n; i++) cin>>a[i];
cin>>p;
if(p > n){
cout<<"error!";
return 0;
}
for(int i = p ; i < n; i++) cout<<a[i]<<" ";
for(int i = 0; i <= p - 1; i++) cout<<a[i]<<" ";
return 0;
}