下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中医医师规范化培训制度
- 规范黑车运营市场手续制度
- 企业党支部档案管理制度
- 机件加工厂管理制度规范
- 面包工厂上班制度规范标准
- 如何规范上下班打卡制度
- 房地产行业会计制度规范
- 人民医院月嫂陪护制度规范
- 测绘产品规范化管理制度
- 恢复室工作规范制度范本
- 初中地理八年级《中国的气候特征及其影响》教学设计
- 广州大学《电磁场与电磁波》2023-2024学年第二学期期末试卷
- 中国家居照明行业健康光环境与智能控制研究报告
- 主动防护网系统验收方案
- 医学人文关怀培训课件
- 基于BIM的ZN花园14号住宅楼工程清单与招标控制价编制
- 压缩机操作工岗位操作技能评估
- 2025年小学三年级语文单元测试模拟卷(含答案)
- 河北省石家庄第二中学2025-2026学年高一上数学期末联考试题含解析
- 【必会】自考《管理学原理》13683备考题库宝典-2025核心题版
- 土方施工环保措施方案
评论
0/150
提交评论