早教吧作业答案频道 -->其他-->
试设计一个算法,将数组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...的网友还看了以下:
计算1.求级数∑∞(x-1)^n/n的收敛域与和函数.2.试将函数f(x)=arcsinx/x展成 2020-04-12 …
我们已学过的算法有求解一元二次方程的求根公式,加减消元法求二元一次方程组解,二分法求函数零点等.对 2020-05-14 …
一种农药浓度是368.9ppm稀释1000倍怎么计算?一种农药它的浓度是368.9mg/l请问稀释 2020-05-21 …
逻辑运算求助首先我用'&'表示与,'|'表示或有这样一个公式:(A&B)|(C&D)现在想解开这个 2020-06-28 …
急求一只弹簧的重量怎么计算.求公式!已知这只弹簧的线径,外径,长度,圈数,材质就是一般的不锈钢(密 2020-07-08 …
一道西方经济学的计算题,求解,要详细过程。已知:货币供给量Ms=220,货币需求方程为:L=0.4 2020-07-18 …
怎么计算折扣,比方说我原价499的物品,现在卖299,是打了几折.毛利率又是多少,怎么计算.求赐教 2020-07-19 …
若(2x-1)的三次方=a+bx+cx平方+dx立方,要求a+b+c+d的值可令x=1,原等式变为 2020-07-30 …
十六进制的减法运算.求分析反码,补码.我想我应该是对补码的理解不正确.我现在想要计算两个16进制的数 2020-10-31 …
冲击力计算求助物体一在驱动力作用下以1.5M/S的速度移动,物体二处于静止状态。求物体一撞向物体二时 2020-12-08 …