2010 循环左移数组

算法思想:数组全部逆置,前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);
    }
}

 

posted @ 2019-10-20 15:51  bestAndBest  阅读(179)  评论(0)    收藏  举报