早教吧作业答案频道 -->其他-->
试设计一个算法,将数组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...的网友还看了以下:
英语作文下面是RedStarSchool学生上学所使用的交通工具统计表,假如你是这所学校的一名学生 2020-05-22 …
对某一交通要道路口5分的汽车流量做调查统计1.确定地点、时间、调查方式、设计调查表.2.填写调查记 2020-06-10 …
小丽家住的居民楼有3个单元.右面是这座楼的住户十月份用水情况统计表.己知第二单元交水费504元,你 2020-07-18 …
下列关于赋值语句的说法错误的是()A.赋值语句的作用是先计算出赋值号右边的表达式的值B.赋值语句是 2020-07-24 …
下表是小红家上半年交电费情况统计表.月份123456平均电费电费\元526340485464先估计一 2020-11-14 …
下列关于赋值语句的说法错误的是()A.赋值语句的作用是先计算出赋值号右边表达式的值B.赋值语句是把左 2020-12-31 …
下列关于赋值语句的说法错误的是()A.赋值语句的作用是先计算出赋值号右边的表达式的值B.赋值语句是把 2020-12-31 …
下列关于赋值语句的说法错误的是()A.赋值语句的作用是先计算出赋值号右边的表达式的值B.赋值语句是把 2020-12-31 …
据悉,世纪华联超市将在我省某市开设分店.如图和下表分别为该公司对该市的地租和交通状况调查的统计资料. 2021-01-04 …
据悉,永辉超市将在我省某市开设分店。下面图、表分别为该公司对该市的地租和交通状况调查的统计资料。完成 2021-01-04 …