欢迎来到天天文库
浏览记录
ID:13713658
大小:55.50 KB
页数:8页
时间:2018-07-24
《数据结构实验报告二单链表的应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《数据结构》实验报告实验二、单链表的应用专业班级学号 学生姓名指导老师河南科技大学管理学院年月日-7-一、实验目的熟练掌握线性表的链式存储结构的建立方法以及基本操作算法,并根据实际问题的要求,灵活运用。二、实验内容本次实验要求以班级学生信息作为管理对象,根据实验一建立班级学生信息线性表的链式存储结构,并练习使用单链表的基本操作算法,实现对班级学生信息的管理,包括学生信息的插入、学生信息的删除、学生信息的查询和学生信息线性表的输出。三、完成情况#include#include//#d
2、efineMAXSIZE100typedefstruct{charnum[8];/*学号*/charname[9];/*姓名*/chargender[3];/*性别*/intscore;/*成绩*/}DataType;typedefstruct{DataTypedata;structLNode*next;}LNode,*LinkList;intmenu_select(){intsn;printf("学生信息管理系统");printf("======================================
3、===");printf("1.学生信息线性表的建立");printf("2.插入学生信息");printf("3.查询学生信息");printf("4.删除学生信息");printf("5.输出所有学生信息");printf("0.退出管理系统");printf("==========================================");printf("请选择0-5:");for(;;)-7-{scanf("%d",&sn);if(sn<0
4、
5、sn>5)printf
6、("t输入错误,重选0-5");elsebreak;}returnsn;}voidcreateList(LinkListL){intn,i=0;LNode*p;printf("有几位学生?请输入:");fflush(stdin);scanf("%d",&n);printf("以下请输入这%d位学生的信息:",n);for(i=0;i7、loc(sizeof(LNode));scanf("%s%s%s%d",p->data.num,p->data.name,p->data.gender,&p->data.score);p->next=L->next;L->next=p;}}voidprintList(LinkListL){inti=0;LNode*p;p=L->next;printf("学号(8)姓名(8)性别成绩");printf("-------------------------------------------");while(p8、){printf("第%d位学生:",i);printf("%s,%s,%s,%d",p->data.num,p->data.name,p->data.gender,p->data.score);printf("------------------------------------------------------------------");p=p->next;i++;}-7-}intinsert(LinkListL,LNode*student,inti){intj;LNode*p;p=L;j=0;whi9、le(p&&jnext;++j;}if(!p10、11、j>i-1)printf("ERROR");else{student->next=p->next;p->next=student;}return1;}intfindList(LinkListL){charnum[8];charname[9];intxz;LNode*p;p=L;printf("===========================");printf("1、按学号查询");printf("2、按姓名查询");printf12、("===========================");printf("请选择:");fflush(stdin);scanf("%d",&xz);if(xz==1){printf("请输入要查找学生的学号:");scanf("%s",num);p=L->next;while(p){if(strcmp(p->data.n
7、loc(sizeof(LNode));scanf("%s%s%s%d",p->data.num,p->data.name,p->data.gender,&p->data.score);p->next=L->next;L->next=p;}}voidprintList(LinkListL){inti=0;LNode*p;p=L->next;printf("学号(8)姓名(8)性别成绩");printf("-------------------------------------------");while(p
8、){printf("第%d位学生:",i);printf("%s,%s,%s,%d",p->data.num,p->data.name,p->data.gender,p->data.score);printf("------------------------------------------------------------------");p=p->next;i++;}-7-}intinsert(LinkListL,LNode*student,inti){intj;LNode*p;p=L;j=0;whi
9、le(p&&jnext;++j;}if(!p
10、
11、j>i-1)printf("ERROR");else{student->next=p->next;p->next=student;}return1;}intfindList(LinkListL){charnum[8];charname[9];intxz;LNode*p;p=L;printf("===========================");printf("1、按学号查询");printf("2、按姓名查询");printf
12、("===========================");printf("请选择:");fflush(stdin);scanf("%d",&xz);if(xz==1){printf("请输入要查找学生的学号:");scanf("%s",num);p=L->next;while(p){if(strcmp(p->data.n
此文档下载收益归作者所有