自后向前:先填充A数组后边的空位
public void merge(int A[], int m, int B[], int n) { int indexA = m-1; int indexB = n-1; int index = m +n-1; //AB都有值时,比较填充 while(indexA >= 0 && indexB >= 0){ A[index--] = A[indexA] > B[indexB] ? A[indexA--] : B[indexB--]; } //当A没有值的时候,将B复制 while(indexB >= 0){ A[index--] = B[indexB--]; } //当B没有值的时候,将A复制,A还是A }