1、参考merge_sort归并排序的,二路合并数组
public class Solution {
public void merge(int A[], int m, int B[], int n) {
int[] tmp = new int[m + n];
int i = 0, j = 0, k = 0;
while (i < m && j < n) {
if (A[i] < B[j]) {
tmp[k++] = A[i++];
} else {
tmp[k++] = B[j++];
}
}
while (i < m) {
tmp[k++] = A[i++];
}
while (j < n) {
tmp[k++] = B[j++];
}
for (i = 0; i < m + n; i++) {
A[i] = tmp[i];
}
}
} 
京公网安备 11010502036488号