/*
設將n(n>1)個整數存放到一維數組R中。設計一個代碼將R中的序列循環左移P(0<P<n),即將R中的數據由
{X0,X1,……Xn-1}變換為{Xp,Xp+1,……,Xn-1,X0,X1,……,Xp-1}
分析:將前P個元素逆置,再將剩下的元素逆置,最後將所有元素逆置
*/ www.2cto.com
void Reverse(int R[],int l,int r)
{
int i,j;
int temp;
for(i=l,j=r;i<j;i++,--j)
{
temp = R[i];
R[i] = R[j];
R[j] = temp;
}
}
void RCR(int R[],int n,int p)
{
if(p<=0||P>=n)
{
printf("ERROR\n");
}
else
{
Reverse(R,0,p-1);
Reverse(R,p,n-1);
Reverse(R,0,n-1);
}
}