数组循环右(左)移
时间:2010-08-26 来源:chinawanglun
下面是具体的算法 一、时间复杂度为O(N*N)的算法
void rightshift_1(int a[],int n,int k) //n为数组长度,k为数组右移的位数 |
二、时间复杂度为O(N)的算法
void reverse(int a[],int left,int right) //将数组内a[left]到a[roght]的元素逆置
{
{ 例如: abcde123循环右移3为 步骤1:将a[0]~a[4]逆置,得到edcba123 步骤2:将a[5]~a[7]逆置,得到edcba321 步骤3:将a[0]~a[7]逆置,得到123abcde |
循环左移的算法和循环右移基本相同