- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
合并单链表==数据结构实训报告
《数据结构》实训报告
院系_____软件学院________ 专业 _____软件工程______
姓名_____朱勇_______ 学号__2010118131____
___10_____级 ___2____班 _2013-5-24___
1.实训题目
假设两个元素值递增有序的单链表La和Lb。编写算法实现将表La和Lb合并成一个元素值递减有序的单链表Lc,并要求利用原表结点空间。
2.需求分析
要求用VC编写一个演示程序,首先建立一个带头结点的整型单链表,然后把第一个和最后一个互换位置。
初始化单链表功能
单链表头结点next域为NULL
建立单链表功能
使用尾插法建立单链表。
便利单链表功能
输出单链表内的所有节点的值
合并单链表功能
把关于两个单链表合并为一个新的单链表
3.概要设计
为了实现上述程序功能,需要定义一个简化的线性表抽象数据类型:
数据结构:
typedef struct Node{
int elem;
struct Node * next;
}Node,*LinkList;
基本操作:
InitLinkList(LinkList *L)
操作前提:L是一个未初始化的线性表
操作结果:将L初始化为一个空的线性表
CreateFromTail(LinkList *L)
操作前提:L是一个已初始化的空表
操作结果:建立一个非空的线性表L
ForeachLinkList(LinkList *L)
操作前提:线性表L已存在
操作结果:输出线性表L的所有节点值
LinkList* MergeLinkList(LinkList *LA, LinkList *LB)
操作前提:线性表LA,LB已存在
操作结果:两个单链表合并为一个升序单链表
本程序包含6个函数:
主函数main()
初始化单链表函数InitLinkList()
尾插法建立单链CreateFromTail ()
插入元素函数ForeachLinkList ()
合并单链表函数LinkList* MergeLinkList( ()
各函数间调用关系如下:
采用单链表实现概要设计中定义的抽象数据类型,有关的数据类型和伪码算法定义如下:
4.附录
#includestdio.h
#includemalloc.h
typedef struct Node{
int elem;
struct Node * next;
}Node,*LinkList;
void InitLinkList(LinkList *L){
*L = (Node*)malloc(sizeof(Node));
(*L)-next = NULL;
}
//尾插法建单链表
void CreateFromTail(LinkList *L){
int num;
scanf(%d,num);
Node *s, *r;
r=(*L);
while(num != -1){
s=(Node*)malloc(sizeof(Node));
s-elem = num;
r-next = s;
r = s;
scanf(%d,num);
}
r-next = NULL;
}
void ForeachLinkList(LinkList *L){
Node * temp = (*L)-next;
while( temp!= NULL)
{
printf(%d ,temp-elem);
temp = temp-next;
}
}
LinkList* MergeLinkList(LinkList *LA, LinkList *LB){
Node *pa = (*LA)-next;
Node *pb = (*LB)-next;
//新建单链表LC,并初始化
LinkList *LC = new LinkList();
InitLinkList(LC);
Node *r = (*LC); //指向LC的下一个节点
while(pa != NULL pb !=NULL)
{
if( pa-elem = pb-elem)
{
r-next = pa;
r = pa;
pa = pa -next;
}else{
r-next = pb;
r = pb;
pb = pb -next;
}
}
if(pa == NULL )
r-next = pb;
else
r-next = pa;
fr
您可能关注的文档
- 中东乱局周年盘点_2012趋向如何.pdf
- 中国大学生五人制足球联赛决赛开战.doc
- 中国工艺美术协会优秀作品展示之《国粹·穆桂英挂帅.pdf
- 中国太阳能跟踪系统行业市场现状与发展趋势研究报告2013.doc
- 中国工业用洗涤设备市场运营态势及投资前景需求预测报告.doc
- 中国楹联2.doc
- 中国春小麦GBSS 与淀粉颗粒结合特性的研究.pdf
- 中国水电十五局蒲化供水项目HSE教育制度.doc
- 中国涨薪最慢的十大职业.doc
- 中国泳军世锦赛阵容缩水 全运比奥运还重要?.doc
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)