Java函数实现两个整数数组的合并
发布时间:2023-07-02 07:57:43
在Java中,我们可以通过创建一个新的数组来实现两个整数数组的合并。以下是一个简单的示例代码:
public class Main {
public static void main(String[] args) {
int[] array1 = {1, 2, 3};
int[] array2 = {4, 5, 6};
int[] mergedArray = mergeArrays(array1, array2);
System.out.print("合并后的数组内容为:");
for (int i = 0; i < mergedArray.length; i++) {
System.out.print(mergedArray[i] + " ");
}
}
public static int[] mergeArrays(int[] array1, int[] array2) {
int length1 = array1.length;
int length2 = array2.length;
int length = length1 + length2;
int[] mergedArray = new int[length];
int i = 0, j = 0, k = 0;
while (i < length1 && j < length2) {
if (array1[i] < array2[j]) {
mergedArray[k] = array1[i];
i++;
} else {
mergedArray[k] = array2[j];
j++;
}
k++;
}
while (i < length1) {
mergedArray[k] = array1[i];
i++;
k++;
}
while (j < length2) {
mergedArray[k] = array2[j];
j++;
k++;
}
return mergedArray;
}
}
在上述示例代码中,我们首先定义了两个整数数组array1和array2,分别存储了两个数组的元素。然后,我们调用mergeArrays函数来合并这两个数组,并将合并后的数组存储在mergedArray中。
mergeArrays函数的实现如下:
1. 首先,我们获取数组array1和array2的长度,然后计算合并后数组的总长度。
2. 接下来,我们定义三个变量i、j和k,分别用于追踪数组array1、array2和合并后的数组mergedArray的索引位置。
3. 使用while循环,我们比较array1[i]和array2[j]的值,将较小的值存储在mergedArray[k]中,并相应地增加i或j和k的值。重复执行此操作,直到其中一个数组的所有元素都被合并到mergedArray中。
4. 最后,如果有一个数组的元素还没有被合并完,我们将剩余的元素依次存储在mergedArray中。
运行上述代码,输出将为:
合并后的数组内容为:1 2 3 4 5 6
上述代码中,我们假设输入的两个数组已经按照升序排列。如果两个数组没有按照升序排列,我们可以在实现之前先对两个数组进行排序。另外,上述代码只适用于合并两个数组。如果我们想要合并多个数组,可以使用类似的方法来实现。
