Java黑皮书课后题第7章:**7.31(合并两个有序列表)编写下面的方法,将两个有序列表合并成一个新的有序列表。编写一个测试程序,输入两个有序列表,显示合并后的列表

这篇博客探讨了如何使用Java编写一个方法,将两个已排序的整数列表合并成一个新的有序列表,只需进行元素数量次比较。博主提供了详细的题目描述、解题思路和代码实现,并提醒读者7.32题因网络问题无法展示。
摘要由CSDN通过智能技术生成

**7.31(合并两个有序列表)编写下面的方法,将两个有序列表合并成一个新的有序列表。编写一个测试程序,输入两个有序列表,显示合并后的列表

题目

题目描述与运行示例

**7.31(合并两个有序列表)编写下面的方法,将两个有序列表合并成一个新的有序列表:
public static int[] merge(int[] list1, int[] list2)
只进行list1.length+list2.length次比较来实现该方法,该实现的动画演示参见url(直接点击跳转,博主已经插入超链接,网速非常慢)
编写一个测试程序,输入两个有序列表,显示合并后的列表
注意:输入的第一个数字表示列表中元素的个数,该数字不是列表的一部分

list1 is 1 5 16 61 111 
list2 is 2 4 5 6 
The merged list is 1 2 4 5 5 6 16 61 111 

破题

  1. 主方法:创建一个int型对象,从控制台获取指定值
  2. 主方法:声明一个int型数组list1,长度赋值为上面的int型对象
  3. 主方法:通过循环给数组list1赋值
  4. 主方法:重复1~3步,给list2赋值
  5. 主方法:输出list1,以一个元素一个空格输出
  6. 主方法:输出list2,以一个元素一个空格输出
  7. 主方法:将list1和list2的长度相加,作为list_sum数组长度(声明)
  8. 主方法:调用merge方法,传入list1和list2,list_sum接收返回
  9. 主方法:list_sum以一个元素一个空格输出
  10. merge方法:谁小谁加到新数组后面,小的元素滚入下一个元素,大的元素不变;一旦有数组比较结束将另一个数组剩下的全部加到新数组中
  11. merge方法:获取list1和list2长度,分别为length1、length2
  12. merge方法:声明一个长度为length1+length2的数组
  13. merge方法:两个数组合并操作
  14. merge方法:返回新数组

代码

import java.util.Scanner;

public class Test7_31 {
   
    public static void main(String[] args) {
   
        //1. 主方法:创建一个int型对象,从控制台获取指定值
        Scanner input = new Scanner(System.in);
        System.out.print("Enter list1 size and contents: ");
        int length1 = input.nextInt();
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值