文件名称:最高效的循环右移算法
文件大小:70KB
文件格式:DOC
更新时间:2013-05-18 11:03:47
循环右移 简洁 高效 课程设计
题目描述:将长度为N的数组arr循环右移K位,给出最高效的算法
//最高效的循环右移算法!!
//这个是递归的写法
//author:tengzhao201 QQ:715572192
//time:2010-4-24
//时间复杂度为O(n),空间复杂度O(1),交换点在中间时比逆序法快一倍!!!
//提速要点:由于取模运算的效率很低,去掉了取模运算后效率得到大提升;swap函数效率低,引入了temp变量
void TZshift1(int* arr,int N,int K)
{
K=K%N;
if(0==K)return;
int temp,qq,pp=0;
pp=0;qq=K;
for(int i=0;i