早教吧作业答案频道 -->其他-->
试设计一个算法,将数组R中R[0]至R[N-1]循环右移P位,并要求只用一个单位大小的附加存储,数组中元素移动或交换次数为O(n).要求用C++表述算法
题目详情
试设计一个算法,将数组R中R[0]至R[N-1]循环右移P位,并要求只用一个单位大小的附加存储,数组中元素移动或交换次数为O(n).
要求用C++表述算法
要求用C++表述算法
▼优质解答
答案和解析
这是《编程珠玑》里的一个例子
分三步:
第一步:把整个数组首尾颠倒(即第一个和最后一个换位,第二个和倒数第二个换等等)
第二步:再把调换后的数组前n-p个数首尾颠倒
第三部:最后把数组末p个数首尾颠倒
可以验证经过上述操作的结果就等于数组循环右移p位,而且每次两个数组元素对调只需要一单位附加存储,共需要调换n次
分三步:
第一步:把整个数组首尾颠倒(即第一个和最后一个换位,第二个和倒数第二个换等等)
第二步:再把调换后的数组前n-p个数首尾颠倒
第三部:最后把数组末p个数首尾颠倒
可以验证经过上述操作的结果就等于数组循环右移p位,而且每次两个数组元素对调只需要一单位附加存储,共需要调换n次
看了 试设计一个算法,将数组R中R...的网友还看了以下:
英语翻译文详细介绍广州珠江黄埔大桥引桥62.5米移动模架造桥机从右幅后退、横移变幅至左幅的施工过程 2020-05-15 …
二次函数P在边长为2的正方形ABCD移动,路程为X, 三角形PAC面积y求解析式在边长为2的正方形 2020-05-17 …
带256MB存储卡的数码相机拍摄分辨率设定为1600×1200(像素),颜色深度为24位,若不采用压 2020-05-26 …
某数码相机的分辨率设定为1600×1200像素,颜色深度为24位,若不采用压缩存储技术,则32MB的 2020-05-26 …
由于Flash Memory具有掉电后保持存储的数据不丢失的特点,因此成为移动存储设备的理想选择。 2020-05-31 …
为了充分发挥海南省洋浦港的区位优势,我国将其设立为第四个保税港区。依托洋浦的产业基础,把洋浦建设成 2020-06-29 …
某空储蓄罐的质量为50克.假设储蓄罐中只许投入一角硬币,不倒出硬币,你能估算出储蓄罐中的硬币数吗? 2020-07-04 …
平面直角坐标系中,点A(0,6)点B(8,0)动点P从A点开始,在线段AO上以每秒1个单位的速度向 2020-07-16 …
某数码相机的分辨率设定为1600×1200象素,颜色深度为256色(8bits),若不采用压缩存储 2020-07-19 …
如图,在长为4、宽为2的矩形ABCD上有一点P,沿折线BCDA由B点(起点)向A点(终点)移动,设P 2020-11-04 …