- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 大学人体解剖学大纲.doc
- 大学党课结业考试知识整理.doc
- 大学及专业.doc
- 大字体混凝土与砌体结构复习题孙爱琴.doc
- 大型斜拉桥发展动态及关键技术分析.doc
- 大学体验英语3第三册教案.doc
- 大学国贸专业报检论文.doc
- 大学教务管理系统UML模型.docx
- 大学教学工作量计算办法.doc
- 大学教学论基础试题.doc
- 2024年学校党总支巡察整改专题民主生活会个人对照检查材料3.docx
- 2025年民主生活会个人对照检查发言材料(四个带头).docx
- 县委常委班子2025年专题生活会带头严守政治纪律和政治规矩,维护党的团结统一等“四个带头方面”对照检查材料四个带头:.docx
- 巡察整改专题民主生活会个人对照检查材料5.docx
- 2024年度围绕带头增强党性、严守纪律、砥砺作风方面等“四个方面”自我对照(问题、措施)7.docx
- 2025年度民主生活会领导班子对照检查材料(“四个带头”).docx
- 国企党委书记2025年度民主生活会个人对照检查材料(五个带头).docx
- 带头严守政治纪律和政治规矩,维护党的团结统一等(四个方面)存在的问题整改发言提纲.docx
- 党委书记党组书记2025年带头增强党性、严守纪律、砥砺作风方面等“四个带头”个人对照检查发言材料.docx
- 2025年巡视巡察专题民主生活会对照检查材料.docx
最近下载
- 2024年度公司领导班子民主生活会对照检查材料3篇.docx VIP
- JTGD60—2015公路桥涵设计通用规范.pdf VIP
- 技术部薪酬及岗位制度.doc
- 马工程教材《组织行为学》课件 第四章 团队.pptx
- 标准规范文件:DL/T 5424-2009 水电水利工程锚杆无损检测规程.pdf
- 广东省广州市八年级上学期物理期末试卷四套(附参考答案).doc VIP
- 2019-2020年高一英语人教版必修1专项训练:语法填空Word版含答案.docx VIP
- 第19课《大雁归来》教学设计 统编版语文七年级上册(2024年).docx VIP
- 2022水电工程移动式集运鱼系统设计规范.docx
- 2024年6月英语四级真题(全3套).pdf
文档评论(0)