java两个无序数组合并成一个有序数组怎么写
时间: 2023-11-05 14:03:38 浏览: 68
要将两个无序数组合并成一个有序数组,可以使用如下步骤:
1. 创建一个新数组,用于存储合并后的有序数据。
2. 找到两个无序数组的最小元素,将其放入新数组的第一个位置。
3. 比较两个数组的下一个元素,将较小的元素放入新数组的下一个位置。
4. 重复步骤3,直到其中一个数组的元素全部放入新数组。
5. 将剩余的另一个数组中的元素依次放入新数组的末尾。
6. 返回新数组。
以下是一个示例的Java代码实现:
```java
public class MergeSortedArray {
public static int[] mergeArrays(int[] arr1, int[] arr2) {
int[] mergedArray = 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]) {
mergedArray[k++] = arr1[i++];
} else {
mergedArray[k++] = arr2[j++];
}
}
while (i < arr1.length) {
mergedArray[k++] = arr1[i++];
}
while (j < arr2.length) {
mergedArray[k++] = arr2[j++];
}
return mergedArray;
}
public static void main(String[] args) {
int[] arr1 = {2, 8, 6, 4};
int[] arr2 = {5, 1, 9, 3};
int[] merged = mergeArrays(arr1, arr2);
System.out.print("合并后的有序数组:");
for (int i = 0; i < merged.length; i++) {
System.out.print(merged[i] + " ");
}
}
}
```
以上代码中的`mergeArrays`方法可以接受两个无序数组作为参数,并返回一个有序数组。在`main`方法中的示例演示了如何调用该方法进行合并,并输出合并结果。