69,382
社区成员
发帖
与我相关
我的任务
分享
int ArrayShift( int a[], int n, int m ){
int i;
if(m>n){
m=m%n;
}
for(int i=n+m,j=0;j<=n;j++)
{
a[i-j]=a[n-j];
}
for(int i=1;i<=m;i++){
a[i]=a[n+i];
}
return a;
}
int ArrayShift( int a[], int n, int m ){
int i,tmp,mid,t;
for(i=0;i<n;i++){
if(m>n){
if(m%n==0);
else {
t=(i+m)%n;
tmp=a[t];
a[t]=a[i];
a[i]=tmp;
}
}
else{
if(i<n-m){
tmp=a[i+m];
a[i+m]=a[i];
a[i]=tmp;
}
else {
mid=a[i+m-n];
a[i+m-n]=a[i];
a[i]=mid;
}
}
return a;
}
}