这个算法是左移 不是右移
至于下面的一系列的问题 主要是数组下标是从零开始的
#include <stdio.h>
void Reverse( int A[], int from, int to )
{
int temp;//临时缓冲区
for(int i=0; i<(to-from+1)/2; ++i )
{
temp = A[from+i];
A[from+i] = A[to-i];
A[to-i] = temp;
}
return;
}
void Converse(int A[], int n, int k)
{
Reverse(A, 0, k-1);
Reverse(A, k, n-1);
Reverse(A, 0, n-1);
return;
}
int main()
{
int A[]={1, 2, 3, 4, 5, 6};
int i;
Converse(A, 6, 1);
for(i=0; i<6; ++i)
{
printf("%d ", A[i]);
}
printf("\n");
return 0;
}