合并两个排序数组
public class mergeSortArray {
/*
* 合并两个有序数组
*/
public void merge(int[] A, int m, int[] B, int n) {
while (m > 0 && n > 0) {
System.out.println(n + "," + m);
A[m + n - 1] = A[m - 1] > B[n - 1] ? A[m-- - 1] : B[n-- - 1];
}
System.out.println(n);
while (n > 0) {
A[n - 1] = B[n - 1];
n--;
}
}
public static void main(String[] args) {
int A[] = { 1, 2, 3, 0, 0, 0, 0 };
int B[] = { 1, 6, 8, 9 };
new mergeSortArray().merge(A, 3, B, 4);
for (int i = 0; i < A.length; i++) {
if (i == A.length - 1) {
System.out.print(A[i]);
} else {
System.out.print(A[i] + ",");
}
}
}
}
输出:
4,3
3,3
2,3
1,3
1,2
1,1
0
1,1,2,3,6,8,9