数据结构实验一-实验报告.doc
《数据结构实验一-实验报告.doc》由会员分享,可在线阅读,更多相关《数据结构实验一-实验报告.doc(13页珍藏版)》请在咨信网上搜索。
班级: 姓名: 学号: 实验一 线性表得基本操作 一、 实验目得 1、掌握线性表得定义; 2、掌握线性表得基本操作,如建立、查找、插入与删除等。 二、 实验内容 定义一个包含学生信息(学号,姓名,成绩)得顺序表与链表(二选一),使其具有如下功能: (1) 根据指定学生个数,逐个输入学生信息; (2) 逐个显示学生表中所有学生得相关信息; (3) 根据姓名进行查找,返回此学生得学号与成绩; (4) 根据指定得位置可返回相应得学生信息(学号,姓名,成绩); (5) 给定一个学生信息,插入到表中指定得位置; (6) 删除指定位置得学生记录; (7) 统计表中学生个数. 三、 实验环境 Visual C++ 四、 程序分析与实验结果 #include<stdio、h〉 #include<malloc、h〉 #include<stdlib、h〉 #include〈string、h> #define OK 1 #define ERROR 0 #define OVERFLOW —2 typedef int Status; // 定义函数返回值类型 typedef struct { char num[10]; // 学号 ﻩchar name[20]; // 姓名 double grade; // 成绩 }student; typedef student ElemType; typedef struct LNode { ﻩElemType data; // 数据域 struct LNode *next; //指针域 }LNode,*LinkList; Status InitList(LinkList &L) // 构造空链表 L { ﻩL=(struct LNode*)malloc(sizeof(struct LNode)); L-〉next=NULL; ﻩreturn OK; } Status GetElem(LinkList L,int i,ElemType &e) // 访问链表,找到 i位置得数据域,返回给 e { ﻩLinkList p; p=L—〉next; int j=1; while(p&&j<i) ﻩ{ ﻩﻩp=p—>next; ++j; } if(!p||j〉i) return ERROR; ﻩe=p—〉data; ﻩreturn OK; } Status Search(LNode L,char str[],LinkList &p) // 根据名字查找 { p=L、next; ﻩwhile(p) ﻩ{ ﻩﻩif(strcmp(p—>data、name,str)==0) ﻩﻩreturn OK; ﻩp=p-〉next; } ﻩreturn ERROR; } Status ListInsert(LinkList L,int i,ElemType e) // 在 i个位置插入某个学生得信息 { LinkList p,s; p=L; ﻩint j=0; while(p&&j〈i-1) ﻩ{ ﻩﻩp=p-〉next; ++j; ﻩ} ﻩif(!p||j>i-1)ﻩreturn ERROR; ﻩs=(struct LNode*)malloc(sizeof(LNode)); ﻩs-〉data=e; ﻩs->next=p-〉next; ﻩp—>next=s; ﻩreturn OK; } Status ListDelete(LinkList p,int i) // 删除 i位置得学生信息 { int j=0; while((p—>next)&&(j<i-1)) ﻩ{ ﻩp=p—〉next; ﻩ ++j; } if(!(p—〉next)||(j>i—1))ﻩreturn ERROR; LinkList q; ﻩq=p—>next; p-〉next=q—>next; ﻩdelete q; return OK; } void Input(ElemType *e) { ﻩprintf(”姓名:");ﻩscanf("%s”,e-〉name); ﻩprintf(”学号:”); scanf("%s”,e—>num); ﻩprintf(”成绩:"); scanf("%lf",&e-〉grade); printf(”输入完成\n\n”); } void Output(ElemType *e) { printf("姓名:%-20s\n学号:%—10s\n成绩:%-10、2lf\n\n",e->name,e—>num,e->grade); } int main() { LNode L; ﻩLinkList p; ﻩElemType a,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"); int x,choose=-1; while(choose!=0) { puts("请选择:"); ﻩscanf("%d",&choose); ﻩswitch(choose) ﻩ{ ﻩﻩcase 1: ﻩ ﻩif(InitList(p)) ﻩ ﻩﻩﻩ printf("成功建立链表\n\n”); ﻩﻩ else ﻩ printf(”链表建立失败\n\n"); ﻩﻩ ﻩﻩbreak; ﻩﻩ case 2: ﻩ ﻩprintf(”请输入要录入学生信息得人数:"); ﻩ ﻩ ﻩscanf(”%d”,&x); ﻩﻩ for(int i=1;i〈=x;i++) ﻩﻩﻩﻩ { ﻩ ﻩ printf("第%d个学生:\n”,i); ﻩﻩ ﻩﻩﻩInput(&a); ﻩﻩﻩ ﻩ ListInsert(&L,i,a); ﻩ ﻩ } ﻩ ﻩbreak; ﻩ ﻩcase 3: ﻩ ﻩ for(int i=1;i<=x;i++) ﻩﻩﻩ ﻩ{ ﻩ GetElem(&L,i,b); ﻩﻩﻩ ﻩOutput(&b); ﻩ } ﻩ ﻩﻩbreak; ﻩ case 4: ﻩﻩ char s[20]; ﻩ ﻩ printf(”请输入要查找得学生姓名:"); ﻩﻩ scanf("%s",s); ﻩﻩﻩ if(Search(L,s,p)) ﻩﻩﻩﻩ ﻩOutput(&(p—>data)); ﻩﻩﻩ else ﻩ ﻩ puts("对不起,查无此人”); ﻩputs("”); ﻩ ﻩbreak; ﻩﻩ case 5: ﻩ ﻩprintf("请输入要查询得位置:"); ﻩ ﻩﻩint id1; ﻩ scanf("%d",&id1); ﻩﻩﻩGetElem(&L,id1,c); ﻩﻩ ﻩﻩOutput(&c); ﻩ ﻩ ﻩbreak; ﻩ ﻩcase 6: ﻩﻩ printf ("请输入要插入得位置:"); ﻩﻩ int id2; ﻩﻩﻩscanf("%d",&id2); ﻩﻩ printf("请输入学生信息:\n"); ﻩﻩ ﻩInput(&d); ﻩ ﻩif(ListInsert(&L,id2,d)) ﻩﻩﻩﻩ { ﻩﻩ x++; ﻩ ﻩ ﻩﻩputs("插入成功”); ﻩ ﻩﻩﻩputs("”); ﻩﻩ ﻩ } ﻩﻩﻩﻩﻩelse ﻩﻩ ﻩ { ﻩ puts("插入失败”); ﻩﻩ puts(””); ﻩﻩ ﻩ } ﻩ break; ﻩ case 7: ﻩ ﻩprintf("请输入要删除得位置:"); ﻩﻩ ﻩint id3; ﻩﻩﻩﻩscanf("%d”,&id3); ﻩﻩﻩﻩ if(ListDelete(&L,id3)) ﻩ ﻩ { ﻩﻩx—-; ﻩﻩ ﻩﻩ puts("删除成功"); ﻩ ﻩﻩﻩputs("”); ﻩﻩ ﻩﻩ} ﻩﻩ ﻩﻩelse ﻩ ﻩ{ ﻩﻩ ﻩ puts(”删除失败"); ﻩﻩﻩ ﻩputs("");ﻩ ﻩ ﻩﻩﻩ} ﻩ break; ﻩ case 8: ﻩprintf(”已录入得学生个数为:%d\n\n”,x); ﻩ ﻩﻩbreak; } } ﻩprintf("\n\n谢谢您得使用,请按任意键退出\n\n\n"); system(”pause"); ﻩreturn 0; } 用户界面: (1) 根据指定学生个数,逐个输入学生信息: (2) 逐个显示学生表中所有学生得相关信息: (3) 根据姓名进行查找,返回此学生得学号与成绩: (4) 根据指定得位置可返回相应得学生信息(学号,姓名,成绩): (5) 给定一个学生信息,插入到表中指定得位置: (6) 删除指定位置得学生记录: (7) 统计表中学生个数: 五、 实验总结 数据结构就是一门专业技术基础课。它要求学会分析研究计算机加工得数据结构得特性,以便为应用涉及得数据选择适当得逻辑结构,存储结构及相应得算法,并初步掌握算法得时间分析与空间分析技术。不仅要考虑具体实现哪些功能,同时还要考虑如何布局,这次得实验题目就是根据我们得课本学习进程出得,说实话,我并没有真正得读懂书本得知识,所以刚开始得时候,感到很棘手,于就是又重新细读课本,这一方面又加强了对书本得理解,在这上面花费了一些心血,觉得它并不简单,就是需要花大量时间来编写得。。在本次实验中,在程序构思及设计方面有了较大得锻炼,能力得到了一定得提高。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实验 报告
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文