两个数组归并是归并排序的一步
归并的思想是:两个数组是已排好序的,这里面有个小技巧就是在写算法的时候,倒着写,从数组的后面元素开始写,这样就不会存在覆盖的问题了
代码如下:
public class Solution {
public void merge(int A[], int m, int B[], int n) {
int i=m-1,j=n-1,k=m+n-1;
while(i>=0&&j>=0){
A[k--]=A[i]<B[j]?B[j--]:A[i--];
}
while(j>=0){
A[k--]=B[j--];
}
}
}