从最大位置开始进行合并
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];
}
}
}
京公网安备 11010502036488号