算法思想:数组全部逆置,前n-p个元素和后p个元素全部逆置
代码:
void Reverse(int r[],int left,int right) { int k=left,j=right,tmp; while(k<j) { tmp=r[k]; r[k]=r[j]; r[j]=tmp; k++;//k右移一个位置 j--;//j左移一个位置 } } void Left_shift(int r[],int n,int p) { if(p>0&&p<n) { reverse(r,0,n-1); reverse(r,0,n-p-1); reverse(r,n-p,n-1); } }