package chapter7;
import java.util.Arrays;
public class T31 {
public static void main(String[] args) {
int[] list1 = { 1, 3, 4, 5, 16, 61, 111, 121 };
int[] list2 = { 2, 4, 5, 6, 7, 8, 9 };
int[] newList = merge(list1, list2);
System.out.println(Arrays.toString(newList));
}
public static int[] merge(int[] list1, int[] list2) {
int first = 0;// 第一个数组游标
int second = 0;// 第二个数组游标
int i = 0;// list的游标
int[] list = new int[list1.length + list2.length];
while ((first != list1.length) && (second != list2.length)) {
if (list1[first] < list2[second]) {
list[i] = list1[first];
first++;
i++;
} else {
list[i] = list2[second];
second++;
i++;
}
if (first == list1.length) {
for (int j = first + second; j < list1.length + list2.length; j++) {
list[j] = list2[second++];
}
} else if (second == list2.length) {
for (int j = first + second; j < list1.length + list2.length; j++) {
list[j] = list1[first++];
}
}
}
return list;
}
}