编写一个C++程序,实现创建、输出链表,查找、插入、删除结点等功能:_第1页
编写一个C++程序,实现创建、输出链表,查找、插入、删除结点等功能:_第2页
编写一个C++程序,实现创建、输出链表,查找、插入、删除结点等功能:_第3页
编写一个C++程序,实现创建、输出链表,查找、插入、删除结点等功能:_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论