// Java 实现合并两个已排序的列表
public class MergeSortedLists {
// 假设我们有两个已排序的数组列表
public static int[] mergeSortedArrays(int[] array1, int[] array2) {
int length1 = array1.length;
int length2 = array2.length;
int[] mergedArray = new int[length1 + length2];
int i = 0, j = 0, k = 0;
// 遍历两个数组,按顺序合并到新的数组中
while (i < length1 && j < length2) {
if (array1[i] < array2[j]) {
mergedArray[k++] = array1[i++];
} else {
mergedArray[k++] = array2[j++];
}
}
// 如果有剩余的元素,直接复制到新数组的末尾
while (i < length1) {
mergedArray[k++] = array1[i++];
}
while (j < length2) {
mergedArray[k++] = array2[j++];
}
return mergedArray;
}
public static void main(String[] args) {
int[] array1 = {1, 3, 5, 7};
int[] array2 = {2, 4, 6, 8, 10};
int[] mergedArray = mergeSortedArrays(array1, array2);
// 打印合并后的数组
for (int num : mergedArray) {
System.out.print(num + " ");
}
}
}
这段代码定义了一个`MergeSortedLists`类,其中包含了`mergeSortedArrays`方法用于合并两个已排序的整数数组,并返回一个新的合并后的数组。`main`方法中展示了如何使用这个方法,并打印了合并后的数组。注意,这里使用了简单的数组而非更复杂的列表结构(如`ArrayList`),以保持代码的简洁性。