数组循环移位算法

来源:互联网 发布:全景图像拼接算法 编辑:程序博客网 时间:2024/05/17 01:40

数组循环右移算法:

#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