版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——C语言数据结构实现链表逆序并输出C语言数据布局实现链表逆序并输出
将一个链表逆序并输出。可以用两种方法来实现,第一种是借助了一个新的空链表;其次种是在原来链表的根基上直接实现逆序。下面我带大家一起来看看细致内容,梦想对大家有所扶助!想了解更多相关信息请持续关注我们我!
实例代码:
头文件:
#includestdio.h
#includestdlib.h
#includemalloc.h
typedefintElemType;
typedefstructNode
//结点布局
ElemTypevalue;//值域
structNode*next;//指针域
Node,*ptr_Node;
typedefstructLinkList
//链表布局
ptr_Nodehead;//链表头结点指针
ptr_Nodetail;//链表尾结点指针
intlength;//链表长度
LinkList,*ptr_LinkList;
ptr_LinkListCreateListvoid
//创造一个空链表
ptr_LinkListlinklist;
linklist=LinkList*mallocsizeofLinkList;
if!linklist
printfallocationfailed.\n;
linklist-head=NULL;
linklist-tail=NULL;
linklist-length=0;
returnlinklist;
boolIsListEmptyptr_LinkListlinklist
//判断链表是否为空
iflinklist-length==0
returntrue;
returnfalse;
voidInsertListHeadptr_LinkListlinklist,ElemTypeelement
//在表头插入值为element的结点作为新的表头
ptr_Nodeptr_node;
ptr_node=Node*mallocsizeofNode;//生成插入结点
if!ptr_node
printfallocationfailed.\n;
else
ptr_node-value=element;
iflinklist-length==0
linklist-head=ptr_node;
linklist-tail=linklist-head;
linklist-tail-next=NULL;
else
ptr_node-next=linklist-head;
linklist-head=ptr_node;//链表头
linklist-length++;//链表长度加1
voidInsertListTailptr_LinkListlinklist,ElemTypeelement
ptr_Nodeptr_node;
ptr_node=Node*mallocsizeofNode;//生成插入结点
if!ptr_node
printfallocationfailed.\n;
else
ptr_node-value=element;
iflinklist-length==0
linklist-head=ptr_node;
linklist-tail=linklist-head;
linklist-tail-next=NULL;
else
linklist-tail-next=ptr_node;
linklist-tail=ptr_node;//链表尾
linklist-length++;//链表长度加1
voidInsertListPositionptr_LinkListlinklist,intpos,ElemTypeelement
inti;
ptr_Nodeptr_node;
ptr_Nodetemp_ptr_node;
ifpos1||poslinklist-length
printfTheinsertpositionisinvalidate.\n;
else
ptr_node=Node*mallocsizeofNode;//生成插入结点
if!ptr_node
printfallocationfailed.\n;
ptr_node-value=element;
ifpos==1
InsertListHeadlinklist,element;
elseifpos==linklist-length
InsertListTaillinklist,element;
else
temp_ptr_node=linklist-head;
fori=1;ipos-1;i++
//找到第pos-1个结点
temp_ptr_node=temp_ptr_node-next;
ptr_node-next=temp_ptr_node-next;
temp_ptr_node-next=ptr_node;
linklist-length++;
voidDestroyptr_LinkListlinklist
//销毁链表
ptr_Nodep=linklist-head;
ptr_Nodeq;
whilep
//释放每个结点空间
q=p-next;
freep;
p=NULL;
p=q;
voidTraverseptr_LinkListlinklist
//输出整个链表
ptr_Nodep;
p=linklist-head;
whilep
printf%4d,p-value;
p=p-next;
头文件中实现了链表的几个根本的操作,有的是务必的,有些是非务必的。
实现代码:
#includestdafx.h
#includeLinkList.h
#includeconio.h
ptr_LinkListInvertListptr_LinkListlist
//该方法借助一个新的'空链表来实现链表逆序
ptr_LinkListinverted_linklist;
ptr_Nodep;
p=list-head;
inverted_linklist=CreateList;//创造一个空链表
whilep
//将list链表中的结点值逆序输入新创造的链表中,实现链表反转
InsertListHeadinverted_linklist,p-value;
p=p-next;
returninverted_linklist;
voidInvertLinkListptr_LinkListlinklist
//该方法直接对原有链表实现逆序,不借助其他链表
ptr_Nodep,q,r,m;
m=p=linklist-head;
q=p-next;
r=q-next;
whiler
//依次对链表中的结点举行反转
q-next=p;
p=q;
q=r;
r=r-next;
q-next=p;//结果一个结点反转
linklist-head=q;
linklist-tail=m;
linklist-tail-next=NULL;
int_tmainintargc,_TCHAR*argv[]
ptr_LinkListlinklist;
ptr_LinkListlist;
linklist=CreateList;
iflinklist
printfWehavecreatedanewlinklist.\n;
InsertListHeadlinklist,12;
InsertListHeadlinklist,35;
InsertListHeadlinklist,66;
InsertListHeadlinklist,06;
InsertListHeadlinklist,11;
InsertListHeadlinklist,54;
InsertListHeadlinklist,79;
Traverselinklist;
printf\n;
printfThefirstmethod:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六盘水职业技术学院《学科论文写作指导》2023-2024学年第一学期期末试卷
- 金陵科技学院《建筑师业务与法规》2023-2024学年第一学期期末试卷
- 新苏教版一年级下册数学第1单元第4课时《十几减8、7》作业
- 怀化职业技术学院《高级电子系统设计(FPGA)》2023-2024学年第一学期期末试卷
- 【物理】第九章 压强 单元练习+2024-2025学年人教版物理八年级下册
- 菏泽医学专科学校《采油工程双语》2023-2024学年第一学期期末试卷
- 淄博师范高等专科学校《食用菌生物学》2023-2024学年第一学期期末试卷
- 浙江音乐学院《社会行政》2023-2024学年第一学期期末试卷
- 浙江工业大学《古代西方哲学史》2023-2024学年第一学期期末试卷
- 常见水的分类
- 2024-2025学年新教材高中数学第八章立体几何初步8.6.2直线与平面垂直一同步练习含解析新人教A版必修第二册
- 汉语拼音默写表及拼读专练
- 肌力的评定与护理
- 工业机器人论文3000字(合集4篇)
- 【中小企业融资难问题探究的国内外综述5800字】
- DL∕T 2138-2020 电力专利价值评估规范
- 深圳市购物中心租金调查
- 我国无菌包装行业消费量已超千亿包-下游需求仍存扩容潜力
- 大数据管理与考核制度大全
- 大学面试后感谢信
- 2022届上海高考语文调研试测卷详解(有《畏斋记》“《江表传》曰…”译文)
评论
0/150
提交评论