数据结构课程设计——链表合并

学校来题
因为这学期学了数据结构这门课,于是乎,学院便给了一个让我们课程设计的题目。
实现两个链表的合并
基本功能要求:
(1)建立两个链表A和B,链表元素个数分别为m和n个。
(2)假设元素分别为(x1,x2,…xm),和(y1,y2, …yn)。把它们合并成一个线性表C,使得:
当m>=n时,C=x1,y1,x2,y2,…xn,yn,…,xm
当n>m时,C=y1,x1,y2,x2,…ym,xm,…,yn
输出线性表C:
(1) 用直接插入排序法对C进行升序排序,生成链表D,并输出链表D。
测试数据:
(1) A表(30,41,15,12,56,80)
B表(23,56,78,23,12,33,79,90,55)
(2) A表(30,41,15,12,56,80,23,12,34)
B表(23,56,78,23,12)

解题思路
首先,构建两个链表A、B
其次,合并两个链表,生成链表C
最后,将链表C进行直接插入排序,生成链表D

可以知道,链表的排序是很复杂的,所以我们这里采用的方法是:将链表数据分离出来,存至数组!!通过数组来操作链表的各个元素!!

1、构造链表结构体
数据结构课程设计——链表合并_第1张图片
2、链表初始化、尾插、打印以及销毁
数据结构课程设计——链表合并_第2张图片
数据结构课程设计——链表合并_第3张图片
数据结构课程设计——链表合并_第4张图片
数据结构课程设计——链表合并_第5张图片
3、构造链表
数据结构课程设计——链表合并_第6张图片
4、合并链表
数据结构课程设计——链表合并_第7张图片

合并链表的代码中,调用了数组合并的函数
数据结构课程设计——链表合并_第8张图片
5、直接插入排序
数据结构课程设计——链表合并_第9张图片
其中调用了数组的直接插入排序函数
数据结构课程设计——链表合并_第10张图片

测试函数
数据结构课程设计——链表合并_第11张图片
测试结果
数据结构课程设计——链表合并_第12张图片
数据结构课程设计——链表合并_第13张图片

最后
1、关于其他的数据结构知识,大家可以访问我的主页:https://blog.csdn.net/Code_ZX?ref=toolbar
2、这篇CSDN做的比较烂,因为已经做了一份课程设计了,所以就有点懒!!
3、关于链表的基础知识,大家可以访问这个链接:https://blog.csdn.net/code_zx/article/details/80024207
4、谢谢你们的阅读
数据结构课程设计——链表合并_第14张图片

你可能感兴趣的:(学习笔记,每日一题)