公文高手,超级方便的公文写作神器! 立即了解


实现两个链表的合并[精选5篇]

实现两个链表的合并

基本功能要求:

(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)

模块划分

(1)(2)(3)(4)结构体structnode的创建。

structnode*create链表的创建。

voidprint(structnode*head)功能是对链表进行输出。

structnode*inter_link(structnode*chain1,inta,structnode*chain2,intb)

算法的功能是实现两个链表的交叉合并,并且可以根据两链表的长短将行不通的插入。(5)voidinsertsort(structnode*p,intm)算法的功能是对一合并好的链表进行升序插入排序。

main函数主要是对算法进行测试。(6)

数据结构:

数据结构定义如下:

structnode

{

longintnumber;

structnode*next;};源程序:

#include#include#include#include#definelsizeof(structnode)

structnode//结构体{

longintnumber;


(未完,全文共2279字,当前显示749字)

(请认真阅读下面的提示信息)


温馨提示

此文章为6点公文网原创,稍加修改便可使用。只有正式会员才能完整阅读,请理解!

会员不仅可以阅读完整文章,而且可以下载WORD版文件

已经注册:立即登录>>

尚未注册:立即注册>>

6点公文网 ,让我们一起6点下班!