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;
}
}
java语言程序设计第十版(Introduce to java 10th) 课后习题 chapter7-31
最新推荐文章于 2022-11-21 21:55:25 发布
本文介绍了使用Java合并两个整数数组并进行排序的方法。通过定义一个名为T31的类,实现了一个静态方法merge,该方法接收两个整数数组作为参数,并返回一个合并后并按升序排列的新数组。

4071

被折叠的 条评论
为什么被折叠?



