【2010统考真题】设将n(n>1)个整数存放到一维数组R中。设计一个在时间和空间两方面都尽可能高效的算法。将R中保存的序列循环左移p(0<p<n)个位置,即将R中的数据由(X0,X1…Xn-1)变换为(Xp,Xp+1…Xn-1,X0,…Xp-1)。要求:
1)给出算法的基本设计思想。
2)根据设计思想,采用C或C++或Java语言描述算法,关键之处给出注释。
3)说明你所设计算法的时间复杂度和空间复杂度。
算法思路:主要的思路和2.2.8差不多都是先分段逆置再整体逆置的办法实现。
代码不是很难的,主要是这个算法思路要熟练。
void Reverse(DataType R[], int left, int right