从最大位置开始进行合并
public void merge(int A[], int m, int B[], int n) { int res = m+n-1; int i=m-1; int j=n-1; while(i>=0 && j>=0){ if(A[i]>B[j]){ A[res--]=A[i]; i--; }else{ A[res--]=B[j]; j--; } } //if(i>=0) 不用管 if(j>=0){ for(int k=j;k>=0;k--){ A[res--]=B[k]; } } }