已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
已知学生基本信息由学号(长整型)、姓名(字符数组)、性别(字符型)、年龄(整型)组成。定义如下结构类型:/ 定义结构体:存储学生基本信息struct STUDENT_NODE long int id;char nameMAX_LEN;char sex;int age; / 指针指向下一个结点,用以形成链表STUDENT_NODE *next;/定义结构体:存储单向链表struct STUDENT_LINKSTUDENT_NODE *top;应用上述结构类型,编程实现:建立一个结点按学号顺序存储学生信息的单向链表,并实现依据学号对链表的添加、修改、删除和检索功能;添加新结点后,应继续保持结点按学号顺序的链接方式。分别定义函数实现链表的初始化、链表的打印输出、以及在链表中添加、修改、删除和检索节点的功能;最后在main()中进行测试输出。提示:定义函数实现链表的初始化、链表的打印输出、以及在链表中添加、修改、删除和检索节点的功能void iniStudentLink(STUDENT_LINK * L); /初始化学生链表void clearStudentLink(STUDENT_LINK * L); /清空学生链表int isExist(STUDENT_LINK * L, long int id); / 判断该学号的学生信息是否存在int Add(STUDENT_LINK * L,long int id,char name,char sex, int age); /添加一个新同学的信息 int Modify(STUDENT_LINK * L, long int id,char name,char sex, int age); / 根据学号,修改该同学的信息int Delete(STUDENT_LINK * L, long int id); / 根据学号,从链表中删除该同学的信息int Search(STUDENT_LINK * L,long int id); / 根据学号,输出显示该同学信息void ShowALL(STUDENT_LINK * L); / 从头到尾,输出当前所有的同学信息答案:源代码如下void main()STUDENT_LINK* tjut;tjut=new STUDENT_LINK;iniStudentLink(tjut);Add(tjut,2007002,Tom,M,19);Add(tjut,2007007,Jack,M,20);Add(tjut,2007004,Mary,F,20);ShowALL(tjut);Modify(tjut,2007002,Tom Smith,M,19);Search(tjut,2007002);Delete(tjut,2007004);ShowALL(tjut);clearStudentLink(tjut);delete tjut;/*初始化学生链表*/void iniStudentLink(STUDENT_LINK * L)L-top=new STUDENT_NODE; /top结点是个内容为空的结点,注意其作用L-top-id=0;L-top-next=NULL;/*清空学生链表*/void clearStudentLink(STUDENT_LINK * L)STUDENT_NODE *ptr;while(L-top != NULL) ptr=L-top;L-top=L-top-next;delete ptr;return;/* 判断该学号的学生信息是否存在: 存在返回1,不存在返回0*/int isExist(STUDENT_LINK * L,long int id)int exist;STUDENT_NODE *ptr;exist=0;ptr=L-top;while(ptr!=NULL)if(id=ptr-id) /此学生信息已存在exist=1;break;ptr=ptr-next;return exist;/* 添加一个新同学的信息*/int Add(STUDENT_LINK * L, long int id,char name,char sex, int age)int error;int exist;STUDENT_NODE *ptr;STUDENT_NODE *node;error=0;exist=isExist(L,id);if(exist=1)error=1;coutError! 错误添加:id = id 此学生信息已存在!top;while(ptr-next!=NULL)&(ptr-next-idnext;node=new STUDENT_NODE;node-id=id;strcpy(node-name,name);node-sex=sex;node-age=age; /新结点插入到ptr结点之后node-next=ptr-next;ptr-next=node;cout添加:id = id 学生信息成功 !endl;return error;/ 根据学号,修改该同学的信息int Modify(STUDENT_LINK * L,long int id,char name,char sex, int age)int error;int exist;STUDENT_NODE *ptr;error=0;exist=isExist(L,id);if(exist=0)error=1;coutError! 错误修改:id = id 此学生信息不存在!top;while(ptr!=NULL)&(ptr-id!=id)ptr=ptr-next;/ 修改ptr中的信息strcpy(ptr-name,name);ptr-sex=sex;ptr-age=age; cout修改:id = id 学生信息成功 !endl;return error;/ 根据学号,从链表中删除该同学的信息int Delete(STUDENT_LINK * L,long int id)int error;int exist;STUDENT_NODE *ptr;STUDENT_NODE *node;error=0;exist=isExist(L,id);if(exist=0)error=1;coutError! 错误删除:id = id 此学生信息不存在!top;while(ptr-next!=NULL)&(ptr-next-id!=id)ptr=ptr-next;/结点ptr-next就是要删除的结点node=ptr-next;ptr-next=ptr-next-next;delete node;cout删除:id = id 学生信息成功 !endl;return error; / 根据学号,输出显示该同学信息int Search(STUDENT_LINK * L,long int id)int error;int exist;STUDENT_NODE *ptr;error=0;exist=isExist(L,id);if(exist=0)error=1;coutError! 错误显示:id = id 此学生信息不存在!top;while(ptr!=NULL)&(ptr-id!=id)ptr=ptr-next;/ 结点ptr中就是要找的结点的信息cout显示:id = id 学生信息:endl;coutid : idendl;coutname : nameendl;coutsex : sexendl;coutage : ageendl; cout显示:id = id 学生信息成功 !endl;return error;/ 从头到尾,输出当前所有的同学信息 void ShowALL(STUDENT_LINK * L)int k;STUDENT_NODE *ptr;coutnn*目前所有学生信息*top-n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程清洗服务咨询合同
- 上海热转印条幅制作合同
- 2025年2月运营部门总结与3月活动筹备方案
- 胃结石患者运动护理:适度锻炼促恢复
- 建筑施工三级安全教育试题
- 建筑施工企业安管人员-安全生产管理知识读本复习题2、安全管理人员篇
- 新疆维吾尔自治区小学六年级上学期数学第三单元测试卷-分数除法同步练习
- 浙江省小学六年级上学期数学第二单元测试卷-位置与方向(单元通关)
- 特斯拉引领电动车市场分析
- 养殖场租用合同
- 《全国森林经营规划(2016-2050年)》
- 大学生管理素养提升知到智慧树章节测试课后答案2024年秋山东第一医科大学
- 临床研究中期汇报
- 门座起重机培训(图文版)
- GB/T 45000-2024表面活性剂蔗糖脂肪酸酯的组成分析液相色谱法
- 上课用中考复习病句修改课件
- 氯化亚砜MSDS安全技术说明书
- 模具设计岗位招聘笔试题与参考答案(某大型央企)
- 《NSFC申请与评审》课件
- 麻精药品使用与管理培训
- 人教版选修中国古代诗歌散文欣赏《-虞美人》课件(共38张)
评论
0/150
提交评论