版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026上半年云南事业单位联考省药品监督管理局所属事业单位招聘5人笔试模拟试题及答案解析
- 2026四川成都航空有限公司飞行员招聘笔试备考题库及答案解析
- 2026年上半年齐齐哈尔大学公开招聘硕士工作人员27人笔试模拟试题及答案解析
- 2026上半年云南事业单位联考曲靖市师宗县遴选24人(含遴选计划)笔试备考试题及答案解析
- 2026年笙和音协调训练课程
- 2026上半年安徽事业单位联考五河县招聘20人笔试模拟试题及答案解析
- 2026中交天津航道局有限公司疏浚技术与装备研发中心系统集成岗招聘笔试模拟试题及答案解析
- 2026宁夏国运煤业有限公司社会招聘9人笔试备考试题及答案解析
- 2026浙江省财开集团有限公司社会招聘笔试参考题库及答案解析
- 2026年热老化对材料性能的影响
- 医院物资采购管理流程及规范
- 风电场运维安全责任书2025年版
- 浙江省杭州市上城区2024-2025学年七年级上学期语文1月期末试卷(含答案)
- 【普通高中地理课程标准】日常修订版-(2017年版2025年修订)
- 2025年招待员考试试题及答案
- 集成电路公司介绍
- 2025年CFA二级公司金融真题汇编试卷(含答案)
- 《健康体检质量控制规范》
- 单纯疱疹课件
- 道路建设工程设计合同协议书范本
- 2025年安徽阜阳市人民医院校园招聘42人笔试模拟试题参考答案详解
评论
0/150
提交评论