你的位置:首页 > 软件开发 > Java > 数组元素循环右移问题

数组元素循环右移问题

发布时间:2015-10-30 23:00:07
问题:一个数组A中存有N(N>0)个数, 在不允许使用任何另外数组的前提下, 将每个整数循环右移M(M>0)位, 考虑移动数据的次数尽量少, 要如何设计移动方法?并分析时间复杂度.示意图如下:分析1当然, 最简单的方法莫过于直接每次向右移动一个, 要移动M位, 就移动 ...

数组元素循环右移问题

问题:

一个数组A中存有N(N>0)个数, 在不允许使用任何另外数组的前提下, 将每个整数循环右移M(M>0)位, 考虑移动数据的次数尽量少, 要如何设计移动方法?

并分析时间复杂度.

示意图如下:

数组元素循环右移问题

分析1

当然, 最简单的方法莫过于直接每次向右移动一个, 要移动M位, 就移动M次. 代码如下:

 

//传入操作数组和移动的位数 void moveRight(int Arr[], int M){  //保存下数组的最后一个数   int endNum = Arr[N-1];  //将0~N-2位数向后移动一位  int i;  for(i=N-1; i>0; i--){    Arr[i] = Arr[i-1];  }  //将最后一位数放在第一位  Arr[0] = endNum; }

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:数组元素循环右移问题

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录