版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
优选文档班级:姓名:学号:实验一线性表的基本操作一、实验目的1、掌握线性表的定义;2、掌握线性表的基本操作,如建立、查找、插入和删除等。二、实验内容定义一个包含学生信息(学号,姓名,成绩)的序次表和链表(二选一),使其拥有以下功能:依照指定学生个数,逐个输入学生信息;逐个显示学生表中所有学生的相关信息;依照姓名进行查找,返回此学生的学号和成绩;依照指定的地址可返回相应的学生信息(学号,姓名,成绩);给定一个学生信息,插入到表中指定的地址;删除指定地址的学生记录;统计表中学生个数。三、实验环境VisualC++四、程序解析与实验结果#include<stdio.h>#include<malloc.h>#include<stdlib.h>#include<string.h>#defineOK1#defineERROR0#defineOVERFLOW-2.优选文档typedefintStatus;//定义函数返回值种类typedefstruct{charnum[10];//学号charname[20];//姓名doublegrade;//成绩}student;typedefstudentElemType;typedefstructLNode{ElemTypedata;//数据域structLNode*next;//指针域}LNode,*LinkList;StatusInitList(LinkList&L)//构造空链表L{L=(structLNode*)malloc(sizeof(structLNode));L->next=NULL;returnOK;.优选文档}StatusGetElem(LinkListL,inti,ElemType&e)//接见链表,找到i地址的数据域,返回给e{LinkListp;p=L->next;intj=1;while(p&&j<i){p=p->next;++j;}if(!p||j>i)returnERROR;e=p->data;returnOK;}StatusSearch(LNodeL,charstr[],LinkList&p)//依照名字查找{p=L.next;while(p).优选文档{if(strcmp(p->,str)==0)returnOK;p=p->next;}returnERROR;}StatusListInsert(LinkListL,inti,ElemTypee)//在i个地址插入某个学生的信息{LinkListp,s;p=L;intj=0;while(p&&j<i-1){p=p->next;++j;}if(!p||j>i-1)returnERROR;s=(structLNode*)malloc(sizeof(LNode));s->data=e;s->next=p->next;.优选文档p->next=s;returnOK;}StatusListDelete(LinkListp,inti)//删除i地址的学生信息{intj=0;while((p->next)&&(j<i-1)){p=p->next;++j;}if(!(p->next)||(j>i-1))returnERROR;LinkListq;q=p->next;p->next=q->next;deleteq;returnOK;}voidInput(ElemType*e){.优选文档printf("姓名:");scanf("%s",e->name);printf("学号:");scanf("%s",e->num);printf("成绩:");scanf("%lf",&e->grade);printf("输入完成\n\n");}voidOutput(ElemType*e){printf("姓名:%-20s\n学号:%-10s\n成绩:%-10.2lf\n\n",e->name,e->num,e->grade);}intmain( ){LNodeL;LinkListp;ElemTypea,b,c,d;printf("\n********************************\n\n");puts("1.构造链表");puts("2.录入学生信息");puts("3.显示学生信息");puts("4.输入姓名,查找该学生");.优选文档puts("5.显示某地址该学生信息");puts("6.在指定地址插入学生信息");puts("7.在指定地址删除学生信息");puts("8.统计学生个数");puts("0.退出");printf("\n********************************\n\n");intx,choose=-1;while(choose!=0){puts("请选择:");scanf("%d",&choose);switch(choose){case1:if(InitList(p))printf("成功建立链表\n\n");elseprintf("链表建立失败\n\n");break;case2:printf("请输入要录入学生信息的人数:");scanf("%d",&x);.优选文档for(inti=1;i<=x;i++){printf("第%d个学生:\n",i);Input(&a);ListInsert(&L,i,a);}break;case3:for(inti=1;i<=x;i++){GetElem(&L,i,b);Output(&b);}break;case4:chars[20];printf("请输入要查找的学生姓名:");scanf("%s",s);if(Search(L,s,p))Output(&(p->data));elseputs("对不起,查无此人");.优选文档puts("");break;case5:printf("请输入要盘问的地址:");intid1;scanf("%d",&id1);GetElem(&L,id1,c);Output(&c);break;case6:printf("请输入要插入的地址:");intid2;scanf("%d",&id2);printf("请输入学生信息:\n");Input(&d);if(ListInsert(&L,id2,d)){x++;puts("插入成功");puts("");}else.优选文档{puts("插入失败");puts("");}break;case7:printf("请输入要删除的地址:");intid3;scanf("%d",&id3);if(ListDelete(&L,id3)){x--;puts("删除成功");puts("");}else{puts("删除失败");puts("");}break;case8:.优选文档printf("已录入的学生个数为:%d\n\n",x);break;}}printf("\n\n感谢您的使用,请按任意键退出\n\n\n");system("pause");return0;}用户界面:依照指定学生个数,逐个输入学生信息:.优选文档逐个显示学生表中所有学生的相关信息:依照姓名进行查找,返回此学生的学号和成绩:.优选文档依照指定的地址可返回相应的学生信息(学号,姓名,成绩):给定一个学生信息,插入到表中指定的地址:删除指定地址的学生记录:统计表中学生个数:五、实验总结数据构造是一门专业技术基础课。它要修业会解析研究计算机加工的数据构造的特点,以便为应用涉及的数据选择合适的逻辑构造,储藏构造及相应的算法,并初步掌握算法的时间分析和空间解析技术。不但要考虑详尽实现哪些功能,同时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Photoshop基础测试题(含详细答案)
- 2026学年江西省景德镇市一年级语文期末自测思维拓展题附答案详细答案和解析
- 基站蓄电池安装工安全操作规程
- 人防地下室防水及抗渗混凝土施工方案
- 肿瘤脊髓压迫症康复时机选择共识
- 老年衰弱高血压降压方案动态调整规范共识
- PA性格测试+服务意识面试题库(含详细答案解析)
- 性早熟体重长期管控实施方案共识
- 自动化设备点检安全操作规程
- 注册安全工程师考试金属冶炼安全生产专业实务(中级)试卷与参考答案
- 消毒供应室院感管理课件
- 医院常用消毒剂课件
- 中国内蒙古能源行业调查报告
- 北京市通州区2024-2025学年八年级上学期期末考试道德与法治试卷(含答案)
- 2024年设备监理师考试题库及参考答案
- 蔬菜订购协议范例
- 2019-2024年高考语文全国卷文言文翻译汇编
- 江西省人防工程质量监督管理指导手册(试行)
- 2022山东省特种设备电梯安装维修工职业技能竞赛 理论复习题及答案
- AASM睡眠分期规则-课件
- 2023年苏州科技城外国语学校小升初分班考试数学模拟试卷及答案解析
评论
0/150
提交评论