网站大量收购闲置独家精品文档,联系QQ:2885784924

学生基本信息链表.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学生基本信息链表

已知学生基本信息由学号(长整型)、姓名(字符数组)、性别(字符型)、年龄(整型)组成。定义如下结构类型: // 定义结构体:存储学生基本信息 struct STUDENT_NODE { long int id; char name[MAX_LEN]; char sex; int age; // 指针指向下一个结点,用以形成链表 STUDENT_NODE *next; }; //定义结构体:存储单向链表 struct STUDENT_LINK{ STUDENT_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

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档