下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编写一个C+程序,实现创建、输出链表,查找、插入、删除结点等功能: #iiicludestiuct node定义链表的结点mt data;要存在结点的整数node *next; 指向下一结点的指针;node *cieateList(iiit);创建链表函数void outputList(node *);/输出链表函数node *fuidList(iiit,node *); 查找结点函数node *msertList(iiit,node *);插入结点函数node *deleteList(mt,node *);/删除结点函数hit mam()/主函数hit n.fiiid,insert,dele
2、t;定 义常量node *listinsen=NULL;定义接受插入后链表的结构指针node *listhead=NULL;定义头指针node *listdelete=NULL;定义接受删除后链表的结构指针coutMplease enter the number of node:; 要创建链表的大小 cmn;listliead=createList(n);/调用创建链表函数outputList(listhead);输出创建的链表coutMplease enter the number of finding:;输入要查找的结点fuidList(fuid,listhead);调用查找结点函数cou
3、tMplease enter the number of inserting:”; 输入要插入 的结点 cmiiisen;listiiisert=msei-tList(insei-t,listhead);调用插入结点函数outputList(listmseit);coutMplease enter the number of deleting:输入要删除的结点 ciiidelet;listdelete=deleteList(deletJisthead);/调用删除结点函数outputList(listdelete); return 0;node *createList(mt n)创建链表函数n
4、ode *temp=NULL, *tail=NULL, *head=NULL;mt num;coutnplease enter the 1 node/*;创建第一个结点cinnum;head=new node;/tn头结点分配动态存储空间if(head=NULL)判断是否给头结点分配了存储空间cout,rNot memory available!1;return NULL;else(head-data=num;给结点赋值head-next=NULL;给指针域赋值tail=head;移动尾指针所指向的位置foi(mt i=0;idata=num; 为新结点赋值temp-next=NULL; 为新
5、结点tad-next=temp;将新建结点连接到链表的后面ta il=temp;/尾指针指向链表的最后一个结点)return head;void outputList(node *head) 输出链表函数node *curnode;定义一个动态查找指针cuniode=head;将动态指针指向头结点while(curnode) 输出每个结点(coutcurnode-data;if(cuniode-next)coutH-H;curnode=cuinode-next;coutendl;return;node *fuidList(iiit n,node *head)查找结点函数node *cumode
6、;curnode=head;iiit j=0;while(curnode)查找结点jfif(curnode-data=n)(coutMHave find HnM m the list!”vv” Hnthe adress is:ncuniode,f HHthe HnH is the HjM node!Hendl;return 0;)curnode=curnode-next;coutnSonv! Not find untf mthe list!Hendl;leturn NULL;node *msertList(iiit n.node *head)插入结点函数node *curnode=NULL;n
7、ode *prenode=NULL;node *newnode=NULL;cuinode=head;while(cumode! =NULL) & (cuniode-datanext;newnode=new node;if(newnode=NULL)(coutHNot memoiy available return head;newnode-data=n;if(prenode=NULL)/在链表表头插入结点newnode-next=curnode; return newnode;else在链表中插入结点(prenode-next=newnode; newnode-next=curnode; return head;node *deleteList(mt njiode *head) 删除结点 node *prenode=NULL;node *curnode=head;while(curnode! =NULL & curnode-data!=n) 查找要删除结点的位置 (prenode=curnode;curnode=curnode-next; i )if(curnode=NULL)/没有查找到要删除的结点( coutvvSony!In the list havent delete number! return head;i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生成式人工智能赋能职业教育数智化转型-时代价值与行动理路
- 幼儿园社会语言《感恩有你》课件
- 矿业权评估师考试专业知识试题(完整版)
- 译林版(三起)四年级英语上册课件Unit 8 What we wear第1课时Get ready
- 2026导游证笔试冲刺押题卷附答案
- 公路水运工程试验检测专业技术人员职业资格考试《桥梁隧道工程》易错题本(含解析)
- 载人登月发展历程科普
- 2026 年大学秋季开学军训共建连队班会
- 高中化学常考题型及答题模板
- 交易信号识别
- 2026年深圳会计面试试题及答案
- 2026湖北恩施州利川市选调市外教师30人考前冲刺密卷附完整答案详解(全优)
- 2026广东广州市越秀区招聘社区专职工作人员46人考试参考题库及答案详解
- 2025年中国邮政集团有限公司四川省分公司春季招聘笔试历年参考题库附带答案详解
- 2026年养老服务管理师资格认证考试试题及答案解析
- 2026年保险新人考试试题及答案
- 省级行业企业职业技能竞赛(家畜(猪)繁殖员)考试题及答案考试题及答案(日照2025年)
- 2025年南阳市中心医院医护人员招聘考试题库附答案详解
- 冷库储藏管理与温控技术方案
- 2025年度中国美术馆社会公开招聘笔试参考题库附带答案详解
- 精密滚珠丝杠滚道研磨加工方法与性能影响的深度剖析
评论
0/150
提交评论