已阅读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年沈阳师范大学研究生入学考试822语文课程与教学论考试大纲
- 南京航空航天大学硕士研究生培养方案总则
- 硕士论文格式标准
- 大学论文格式要求(手抄)
- 本科生毕业论文具体内容和撰写要求
- 2025~2026学年浙江省金华市兰溪市北师大版(小升初)数学检测试卷【附解析】
- 2025年河南省高考语文作文考前预测题及范文分析
- 浅谈中小企业招聘存在的问题及对策
- 合并Barrett食管的胃黏膜肠上皮化生与异型增生随访与干预方案
- 2025年六年级科学上册期末考试题及答案【真题】
- 2024年毕节威宁自治县公安局招聘警务辅助人员考试真题
- 2025及未来5-10年输卵管通液仪项目投资价值市场数据分析报告
- 文物修缮合同协议书
- 2025浙江省轨道交通运营管理集团有限公司招聘264人笔试历年常考点试题专练附带答案详解试卷2套
- 殡仪馆消防安全教育培训
- 高校药学课程教学质量评价报告
- 【英语】被动语态熊出没版(课件)
- 2025年及未来5年中国造纸原料市场调查研究及行业投资潜力预测报告
- 2025云南玉溪红塔实业有限责任公司员工招聘25人笔试历年难易错考点试卷带答案解析2套试卷
- 江西交通职业技术学院单招试卷
评论
0/150
提交评论