数据结构 线性表的 应用.doc
《数据结构 线性表的 应用.doc》由会员分享,可在线阅读,更多相关《数据结构 线性表的 应用.doc(6页珍藏版)》请在咨信网上搜索。
《数据结构》实验报告 实验一、线性表的应用 一、实验目的 熟练掌握线性表的顺序存储结构和链式存储结构的建立方法以及基本操作算法,并根据实际问题的要求,灵活运用。 二、实验内容 本次实验要求以班级学生信息作为管理对象,通过实验练习,建立班级学生信息线性表的顺序存储结构和链式存储结构,并练习使用顺序表和单链表的基本操作算法,实现对班级学生信息的管理,包括学生信息的插入、学生信息的删除、学生信息的查询和学生信息线性表的输出。 三、完成情况 #include "stdio.h" #include "malloc.h" #define NULL 0 struct student {char name[20]; char gender[8]; int num; int score; struct student *next; }; int n; struct student *head; struct student *creat() {struct student *p,*q; int a; n=0; p=q=(struct student *)malloc(sizeof(struct student)); printf("请输入学生信息,按学号,姓名,性别,成绩:\n"); scanf("%d%s%s%d",&p->num,p->name,p->gender,&p->score); head=NULL; while(p->num!=0) {n+=1; if(n==1) head=p; else q->next=p; q=p;p=(struct student *)malloc(sizeof(struct student)); printf("请输入学生信息,按学号,姓名,性别,成绩:\n"); scanf("%d%s%s%d",&p->num,p->name,p->gender,&p->score);} printf("完成,按'1'结束\n"); scanf("%d",&a);if(a) {q->next=NULL; return(head);} } void print(struct student *head) {int i;struct student *p; printf("\n学号(8) 姓名(8) 性别 成绩\n"); printf("-------------------------------------------\n"); printf("学号,姓名,性别,成绩:\n "); p=head; for(i=0;i<n;i++) {printf("第%d位学生:",i); printf("%d%s%s%d\n",p->num,p->name,p->gender,p->score); printf("-------------------------------------------\n"); p=p->next;} } void search(struct student *head,int number) {struct student *p; p=head; while (p->num!=number) {p=p->next; if(p==NULL) printf("学生信息不存在!\n"); else {printf("该生的信息是:\n"); printf("%d%s%s%d\n",p->num,p->name,p->gender,p->score);} }} struct student *insert(struct student *head,int i) {struct student *p,*q,*r; int a; p=head; r=(struct student *)malloc(sizeof(struct student)); if(i=n+1) {while(p->next!=NULL)p=p->next; p->next=r;r->next=NULL;n+=1;return (head);} else if(i<=n) {for(a=0;a<i-1;a++) p=p->next; q=p-1;q->next=r;r->next=p;n+=1; printf("完成\n"); return (head);} else printf("空间不足!\n"); } struct student *del(struct student *head,int number) {struct student *p,*q; p=head; while (p->num!=number) p=p->next; if (p==NULL) printf("该生不存在\n"); else {q=p-1;q->next=p->next;free(p);printf("完成");n-=1; return (head);}} void main() {int a,sn,dn,location; printf("\n 学生信息管理系统\n"); printf("=========================================\n"); printf(" 1.学生信息线性表的建立\n"); printf(" 2.插 入 学 生 信 息\n"); printf(" 3.查 询 学 生 信 息\n"); printf(" 4.删 除 学 生 信 息\n"); printf(" 5.输 出 所有学生信息\n"); printf(" 0.退 出 管 理 系 统\n"); printf("==========================================\n"); printf("请选择0-5:\n"); scanf("%d",&a); switch(a) { case 1:head=creat();break; case 2:{printf("添加学生信息\n");printf("请输入要添加的学生信息,按学号、姓名、性别、成绩:\n"); scanf("%d",&location);head=insert(head,location);}break; case 3:{printf("请输入学生学号\n"); scanf("%d",&sn);search(head,sn);}break; case 4:{printf("请输入学生学号\n"); scanf("%d",&dn);head=del(head,dn);}break; case 5:print(head);break; case 0:printf("再见\n");break;} } 四、实验结果 五、问题与解决 程序执行窗口执行完成后,自动关闭窗口,用户无法观察信息,于是手动添加了语句来实现人工结束窗口,第一次加到了return前,发现执行后没有起到作用,遂改为return前。 六、思考题 七、实验总结 程序执行过程中遇到return则直接返回,不执行剩余部分。该程序只是线性表创建、插入、删除等简单操作练习,没有基于数据写入,所以基本上这个程序只是一个框架,每部分都是独立的,随着知识的加深还可以改进此类程序。 实验成绩 评价项目 评分等级 独立完成完整的实验内容,结果完全正确,报告内容完整,排版整洁美观,能真实体现实际操作过程及遇到的问题。 A 完成实验,实验内容较为完整,结果正确,报告内容较为完整,排版较为整洁美观,能体现实际操作过程及遇到的问题。 B 基本完成实验,结果正确,报告内容欠缺,排版较为整洁美观,能体现实际操作过程及遇到的问题。 C 不能独立完成完整的实验内容,结果不真实,报告内容欠缺,排版欠整洁美观,不能体现实际操作过程及遇到的问题。 D - 5 -- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 线性表的 应用 线性
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【xrp****65】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【xrp****65】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【xrp****65】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【xrp****65】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文