欢迎来到天天文库
浏览记录
ID:57016993
大小:70.50 KB
页数:1页
时间:2020-07-30
《二 数组的循环移位.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验二数组的循环移位1.问题描述对于一个给定的整型数组循环右移i位。2.基本要求⑴在原数组中实现循环右移,不另外申请空间;⑵时间性能尽可能好;3.设计思想将这个问题看作是把数组ab转换成数组ba(a代表数组的前i个元素,b代表数组中余下的n-i个元素),先将a逆置得到arb,再将b逆置得到arbr,最后将整个arbr逆置得到(arbr)r=ba。设Reverse函数执行将数组元素逆置的操作,对abcdefgh向左循环移动3个位置的过程如下:Reverse(0,i-1);//得到cbadefghReverse(i
2、,n-1);//得到cbahgfedReverse(0,n-1);//得到defghabc4.算法描述voidConverse(intA[],intn,inti){Reverse(A,0,i-1);//前i个元素逆置Reverse(A,i,n-1);//后n-i个元素逆置Reverse(A,0,n-1);//整个数组逆置}voidReverse(intA[],intfrom,intto) //将数组A中元素从from到to逆置{for(i=0;i<(to-from+1)/2;i++)A[from+i]←→A[t
3、o-i];//交换元素}循环右移算法
此文档下载收益归作者所有