思路 对于左移/右移思路都是一样的,拿循环左移p位来说: a0a1a2…ap-1ap…an-1操作后为ap…an-1a0a1a1a2,观察后可以得到这样的解法: 先将前p个和后n-p个元素(对应下标为0-p-1,p-n-1)分别逆置。 再将整个列表逆置,即可得到结果。 同理:循环右移,则要把后p个元素后前n-p个元素分别逆置,在将整个列表逆置。 代码 逆置函数实现: void Reverse(int a[],int head,int rear