voidReverse(int A[],int left,int right,int arraySize){int exchange;for(int i = left; i <(left+right+1)/2; i++){
exchange = A[i];
A[i]= A[left+right-i];
A[left + right - i]= exchange;}}voidExchange(int A[],int m,int n,int arraySize){//0到m-1 m到m+n-1Reverse(A,0, m + n -1, arraySize);Reverse(A,0, n -1, arraySize);Reverse(A, n, m + n -1, arraySize);}
书中的代码(reverse函数不同,个人感觉书中的不太好理解)
voidReverse(int A[],int left,int right,int arraySize){int mid =(left + right)/2;for(int i =0; i <= mid - left; i++){int exchange = A[left+i];
A[left+i]= A[ right - i];
A[ right - i]= exchange;}}voidExchange(int A[],int m,int n,int arraySize){//0到m-1 m到m+n-1Reverse(A,0, m + n -1, arraySize);Reverse(A,0, n -1, arraySize);Reverse(A, n, m + n -1, arraySize);}