数据结构作业-4

题目:hahb分别是指向两个带头结点的非递减(递增)有序单链表的头指针。要求设计一个算法,将这两个有序链表合并成一个非递增(递减)有序的单链表。要求结果链表仍使用原来两个链表的存储空间,不另外占用其它存储空间。表中允许有重复的数据。

1.需求分析

     输入:

递增链表A

递增链表B

输出:合并后的递增链表C,没有重复元素

 

2.概要设计

         总体流程图

 

3.详细设计

    实现概要设计中定义的所有数据类型和每个操作的算法编程,即带注释的源程序。画出函数的调用关系图。

 

4.调试分析

   

         如果用户输入的数组并不是有序的,那么使用一个排序函数就可以了,后面会实现。

         如果用户输入的数组确实不是有序的,那么结果也是超出预料的。

5.使用说明

    运行程序,按照提示即可。

 

6.测试结果

测试组一:

 

建立单连表,元素类型为int,以0结束输入

输入第1个节点值:2

输入第2个节点值:5

输入第3个节点值:0

 

建立单连表,元素类型为int,以0结束输入

输入第1个节点值:1

输入第2个节点值:2

输入第3个节点值:5

输入第4个节点值:6

输入第5个节点值:8

输入第6个节点值:9

输入第7个节点值:0

 

从左往右,单链表的元素为:  1  2  5  6  8  9

 

测试组二:

 

建立单连表,元素类型为int,以0结束输入

输入第1个节点值:23

输入第2个节点值:34

输入第3个节点值:45

输入第4个节点值:56

输入第5个节点值:67

输入第6个节点值:0

 

建立单连表,元素类型为int,以0结束输入

输入第1个节点值:12

输入第2个节点值:23

输入第3个节点值:56

输入第4个节点值:67

输入第5个节点值:78

输入第6个节点值:89

输入第7个节点值:0

 

从左往右,单链表的元素为:  12  23  34  45  56  67  78  89

 

测试组三:

 

建立单连表,元素类型为char,以#结束输入

输入第1个节点值:a

输入第2个节点值:b

输入第3个节点值:c

输入第4个节点值:d

输入第5个节点值:g

输入第6个节点值:hp

输入第7个节点值:输入第8个节点值:0

输入第9个节点值:#

 

建立单连表,元素类型为char,以#结束输入

输入第1个节点值:d

输入第2个节点值:e

输入第3个节点值:f

输入第4个节点值:g

输入第5个节点值:h

输入第6个节点值:i

输入第7个节点值:o

输入第8个节点值:#

 

从左往右,单链表的元素为:  a  b  c  d  e  f  g  h  i  o  p  0

测试组四:

 

建立单连表,元素类型为char,以#结束输入

输入第1个节点值:,

输入第2个节点值:.

输入第3个节点值:;

输入第4个节点值:'

输入第5个节点值:[

输入第6个节点值:]

输入第7个节点值:#

 

建立单连表,元素类型为char,以#结束输入

输入第1个节点值:;

输入第2个节点值:[

输入第3个节点值:%

输入第4个节点值:!

输入第5个节点值:;

输入第6个节点值:)

输入第7个节点值:#

 

从左往右,单链表的元素为:  ,  .  ;  '  [  %  !  ;  )  ]

                  

7.附录

源程序文件清单。

 

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值