Java、合并两个有序列表
2022/2/28 14:21:29
本文主要是介绍Java、合并两个有序列表,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
编写下面的方法,将两个有序列表合并成一个新的有序列表:
public static int[] merge(int[] list1, int[] list2)
只进行list1.length+list2.length次比较来实现该方法。编写一个测试程序,输入两个有序列表,显示合并后的列表。
注意:输入的第一个数字表示列表中元素的个数,该数字不是列表的一部分。
package pack2; import java.util.Arrays; import java.util.Scanner; public class MergeList { public static void main(String[] args) { try(Scanner input = new Scanner(System.in);) { System.out.print("Enter list1: "); int[] list1 = new int[input.nextInt()]; for (int i = 0; i < list1.length; i++) list1[i] = input.nextInt(); System.out.print("Enter list2: "); int[] list2 = new int[input.nextInt()]; for (int i = 0; i < list2.length; i++) list2[i] = input.nextInt(); System.out.print("The merged list is"); for (int i : merge(list1, list2)) { System.out.print(" "+i); } } } /**合并两个有序列表(方法一)*/ public static int[] merge(int[] list1, int[] list2) { int[] list3 = new int[list1.length + list2.length]; System.arraycopy(list1, 0, list3, 0, list1.length); System.arraycopy(list2, 0, list3, list1.length, list2.length); Arrays.parallelSort(list3); return list3; } /**合并两个有序列表(方法二)*/ public static int[] merge1(int[] list1, int[] list2) { int[] list3 = new int[list1.length + list2.length]; int currentList1 = 0; int currentList2 = 0; int currentList3 = 0; while(true) { list3[currentList3++] = (list1[currentList1] < list2[currentList2]) ? list1[currentList1++] : list2[currentList2++]; if(currentList1 >= list1.length || currentList2 >= list2.length) break; } while(currentList3 < list3.length) list3[currentList3++] = (currentList1 < list1.length) ? list1[currentList1++] : list2[currentList2++]; return list3; } }
这篇关于Java、合并两个有序列表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南