Java

java怎么合并两个有序数组

小亿
179
2023-08-15 00:02:55
栏目: 编程语言

可以使用双指针的方法来合并两个有序数组。具体步骤如下:

  1. 创建一个新的数组,用于存放合并后的结果。

  2. 初始化三个指针,分别指向两个数组的开头和新数组的开头。

  3. 比较两个数组当前指针指向的元素,将较小的元素放入新数组,并将该数组的指针向后移动一位。

  4. 重复步骤3,直到其中一个数组的所有元素都被放入新数组。

  5. 将另一个数组中剩余的元素依次放入新数组。

  6. 返回合并后的新数组。

下面是一个示例代码:

public static int[] mergeArrays(int[] arr1, int[] arr2) {
int[] merged = new int[arr1.length + arr2.length];
int i = 0, j = 0, k = 0;
while (i < arr1.length && j < arr2.length) {
if (arr1[i] < arr2[j]) {
merged[k++] = arr1[i++];
} else {
merged[k++] = arr2[j++];
}
}
while (i < arr1.length) {
merged[k++] = arr1[i++];
}
while (j < arr2.length) {
merged[k++] = arr2[j++];
}
return merged;
}

你可以调用这个方法并传入两个有序数组,它会返回一个合并后的有序数组。

0
看了该问题的人还看了