数组循环右移 oj数组1
我的思路:建立两个相同的数组,将a中数组填进b中数组从而实现循环右移
#include<stdio.h>
int main(){
int n,m,j,k;
scanf("%d %d",&n,&m);
int a[n],b[n];
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
b[i]=a[i];
}
for(k=0,j=n-m;k<m,j<n;k++,j++){ //实现将多余的数移到前面
a[k]=b[j];
printf("%d ",a[k]);
}
for(j=0,k=m;k<n;k++,j++){ //实现前面的数右移
if(k==n-1){
a[k]=b[j];
printf("%d",a[k]);
}else{
a[k]=b[j];
printf("%d ",a[k]);
}
}
}
方法2:逆向排序,又正向排序