- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C实验报告链表应用
班级:******* 学号: ************ 姓名: *****
链表应用——学生信息管理系统
一、实验内容
定义一个链表,其中的数组元素为结构体成员,结构体中的学生信息有学号、姓名、身高,还有用于存放下一结点的结构体指针。然后定义在其上操作的函数,有在首部插入结点、在尾部插入结点、在某一个结点前插入结点、删除指定的结点、删除全部结点、修改指定结点的数据部分、显示全部结点信息、按照结构体结点中某一个数据项对链表进行排序。从主函数开始执行,输入数据,选择执行操作的类型,进入到各个函数中执行相应的操作,执行完毕后,返回主函数,结束程序的运行。
二、功能模块简介
主函数:
程序开始运行后,由主函数定义头结点StuLst lst,将结点的next域置为NULL。然后,显示指示用户进行输入的信息,供用户进行阅读了解,然后进行输入操作。
对各个模块进行简介:
0.结束程序:
在主界面输入0,退出正在运行的程序。
1.显示所有节点信息:
在主界面输入1,调用函数ShowLst(StuLst* lst)进行显示结点信息操作。如果链表不为空,则显示所有结点的信息。先设置输出信息格式,输出表头信息,定义指针*p=lst-next;用while循环,每次使p=p-next;如果p不为空则输出显示该节点的数据信息,然后依次显示每个节点的数据信息。
2.插入节点到头部:
在主界面输入2,调用函数InsertToFirst(StuLst* lst)插入结点到链表的头部。定义结构体指针并为它分配一个地址空间Stu* pSt=new Stu;用来接收用户输入的信息,屏幕上显示出提示信息,请用户输入信息,如果输入的学号信息不为0,则在执行完这一次输入后,继续执行下一次输入。输入完毕后,将该结构体指针插入到链表的头部去:pSt-next=lst-next;lst-next=pSt。
3.插入节点到尾部:
在主界面输入3,调用函数InsertToLast(StuLst* lst)插入结点到链表的尾部。定义结构体指针并为它分配一个地址空间Stu* pSt=new Stu;用来接收用户输入的信息,屏幕上显示出提示信息,请用户输入信息。输入完毕后,调用函数GetTail(lst)返回链表的尾部指针,将该结构体指针插入到链表的尾部去:GetTail(lst)-next=pSt;pSt-next=NULL。
4.插入节点到某个节点之前:
在主界面输入4,调用函数InsertBefore(StuLst* lst)插入结点到某个指定结点之前。定义整型变量用于接收用户输入的要插入的位置int nMark;定义结构体指针并为它分配一个地址空间Stu* pSt=new Stu;用来接收用户输入的信息,屏幕上显示出提示信息,请用户输入信息。输入完毕后,定义结构体指针指向头结点:Stu *p=lst;用while循环遍历整个链表,每次使p=p-next;如果p-next不为空,继续下一次循环。如果找到第nMark个结点,将该结构体变量插入到该结点前面去pSt-next=p-next;p-next=pSt;退出循环。
5.修改某个节点的数据部分:
在主界面输入5,调用函数Modify(StuLst* lst)修改某个指定的结点的数据部分。定义学号字符数组用于接收用于输入的要修改的结点的学号信息:char id[ID_LEN];定义姓名字符数组,用于接收用户输入的新的姓名:char name[NAME_LEN];定义整型变量,用于接收用户输入的新的身高:int nHeight;在用户输入信息完毕后,定义结构体指针指向头结点的下一个结点:Stu *p=lst-next;用while循环遍历整个链表,如果p不为空,每次使p=p-next;如果找到学号与输入的学号相同的结点,用输入的新的数据替换该结点原有的信息,如果输入的姓名不为空,则将执行替换,否则不执行,替换完成后,退出循环。
6.删除某个节点:
在主界面输入6,调用函数DeleteById(StuLst* lst)删除指定结点。定义学号字符数组,用于接收用户输入的要删除的结点的学号信息:char id[ID_LEN]。在用户输入信息完毕后,定义结构体指针指向头结点:Stu *p=lst;使用while循环遍历整个链表,如果p-next不为空,使p=p-next;如果找出学号信息与所输入的学号信息相符的结点,将其删除,并释放它所占用的存储空间:Stu* q=p-next;p-next=q-next;delete q;执行删除完毕后,推出循环。
7.删除全部节点:
在主界面输入7,调用函数DeleteAll(StuLst* lst)删除全部结点。定义结构体指针指向头结点:Stu *p=lst;使用whi
您可能关注的文档
- 2013 步步高 大一轮复习讲义 化学 鲁科版通用 word版文档 第五章 第1讲.doc
- 2012高考历史一轮复习(人民版)精品课件第8讲 “一国两制”的伟大构想及其实践( 2013高考).ppt
- 2013 步步高 大一轮复习讲义 化学 鲁科版通用 word版文档 第十二章第1讲.doc
- 2012龙湖时代天街广告策略案69P.ppt
- 2013-2017年武汉地铁市场运营态势及战略咨询- 艾凯数据研究中心.docx
- 2013(科目四)最新驾考安全文明驾驶常识题库.doc
- 2013-4-8-1 打印版陵园文物保护规划编制招标文件.doc
- 20130111联合利华洗衣粉简本doc - 四川环保网.doc
- 2013,3,16-17 房地产设计阶段成本优化管控及龙湖经验分享.ppt
- 20130419成都宽窄巷子案例分析-车晓智.ppt
- 主题课程整理大班上.doc
- 2026人教版小学语文三年级上册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学语文四年级下册期末综合试卷3套(打印版含答案解析).docx
- 2026人教版小学二年级上册数学期末综合试卷精选3套(含答案解析).docx
- 2026人教版小学语文四年级上册期末综合试卷3套(含答案解析).docx
- 2026人教版小学二年级下册数学期末综合试卷3套(打印版含答案解析).docx
- 2026年地理信息行业年终总结汇报PPT.pptx
- 板块四第二十一单元封建时代的欧洲和亚洲 中考历史一轮复习.pptx
- 中考历史一轮复习:板块四第二十单元古代亚、非、欧文明+课件.pptx
- 第二次工业革命和近代科学文化中考历史一轮复习.pptx
原创力文档


文档评论(0)