/*有n个整数,使前面
各数顺序向后移m个位
置,移出的数再从开头
移入*/
/*
思路:
每次 先保存最后一个,再把前面n-1个从最后一个开始,赋值到下一个位置,
再把第一个位置赋值为(保存的最后一个)。
*/
#include <stdio.h>
#include <stdlib.h>
void sort(int p[],int n,int m)
{
int i,j,number;
for(i=1;i<=m;i++){
number=p[n-1];
for(j=n-2;j>=0;j--)
p[j+1]=p[j];
p[0]=number;
}
}
int main()
{
int *p;
int n,m,i;
printf("Give n and m:");
scanf("%d%d",&n,&m);
p=(int *)malloc(n*sizeof(int));
for(i=0;i<=n-1;i++)
scanf("%d",p+i);
sort(p,n,m);
printf("After sorted:");
for(i=0;i<=n-1;i++)
printf("%-4d",p[i]);
return 0;
}