数组循环右移算法:
#include
#include
int main()
{
int len;
int *start;
int *end;
printf("请输入数组个数:");
scanf("%d",&len);
start = (int *)malloc(len*sizeof(int));
end = (int *)malloc(len*sizeof(int));
printf("请输入数组元素,以空格键隔开:");
for(int i=0;i
scanf("%d",&start[i]);
for(int current=0;current
{
for(int k=0;k
end[current+k] = start[k];
for(int t=len-current,j=0;t
end[j] = start[t];
printf("循环右移%d位后的结果:", current);
for(int m=0;m
printf("%d ",end[m]);
printf("\n");
}
return 0;
}
运行结果:
数组循环左移算法:
#include
#include
int main()
{
int len;
int *start;
int *end;
printf("请输入数组个数:");
scanf("%d",&len);
start = (int *)malloc(len*sizeof(int));
end = (int *)malloc(len*sizeof(int));
printf("请输入数组元素,以空格键隔开:");
for(int i=0;i
scanf("%d",&start[i]);
for(int current=0;current
{
for(int k=0;k
end[k] = start[current+k];
for(int t=len-current,j=0;t
end[t] = start[j];
printf("循环右移%d位后的结果:", current);
for(int m=0;m
printf("%d ",end[m]);
printf("\n");
}
return 0;
}
运行结果:
关注我的新浪博客:http://blog.sina.com.cn/u/1921993171
关注我的新浪微博:http://weibo.com/u/1921993171?wvr=5&wvr=5&lf=reg