数组循环移位算法

数组循环右移算法:

#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

 


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值