数据结构上机实验报告.docxVIP

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构上机实验报告

数据结构上机实验报告韩路之 3772011011概述:实验一、实验二:在总体布局上具有相似性,除了满足实验要求外,还进行了界面优化;2、容错处理;3、操作错误、输入等提示;4、辅助功能(操作计数和清屏)实验三:进行了MFC设计,设计了一个对话框;进行了容错处理,比一般的程序多了输入纠错功能。若果输入的数据没有严格的按照先序输入,程序也不会出错。自动构造先序输入。实验四:实现了实验要求。由于试验本身比较简单,所以并没有进行MFC设计,而是直接完成实验要求。实验一:演示页码为 1---6 代码页:14-18实验二:演示页码为 6---10 代码页:18-28实验三:演示页码为 10---13代码页:28-36实验四:演示页码为 13---14 代码页:36-39心得:四次实验课的前两个实验,我在上机之前两个星期完成,并不断的进行优化改进,增加容错功能。使程序本身能够比较完美的达到要求。实验三由于设计成了MFC形式,花费的时间最多,也为此影响到实验四的进度。总之在完成这四个实验过程中,我不仅将所学的数据结构的知识运用于具体的程序中,而且在实际编程中,通过不断的完善,改进,上网搜索,使自己的编程能力,程序设计能力,优化程序的能力都得到了锻炼,受益匪浅。实验一(代码见附件一):最终运行结果:初始界面2、如果第一次不输入数据,本程序会提示。输入 I,并根据提示,输入10个数据:选择z,进行“清屏”选择“查找”功能,并根据提示输入一个数:23选择删除功能,并根据提示,输入“23”,删除23.选择“插入功能”,并根据提示输入“4 89”可重复选择插入,删除功能,查找等功能(以插入为例)。选择退出,输出总共执行的操作数。实验二(容错能力和实验一一样,这里不再演示):初始界面:选择“i”输入功能,并根据提示输入20个数:选择查找功能,并根据提示输入 0:选择删除功能,并根据提示删除节点4;选择插入功能,并根据提示在4节点插入99:选择去重功能,删除重复的节点:输入“o”,选择删除偶数的功能:输入“L”,选择拆分链表的功能:输入“x”,选择变为循环链表功能(在选完此项之后,如果选择其他项会进行无限的循环输出,所以,设计选择此功能之后,退出。)。实验三:程序初始界面:在“先序输入”中,输入数值(*表示虚节点)。点击“执行”:如果没有严格按照先序输入,程序自动根据先序输入规则,构造先序输入,如输入“1234**345*98”:点击执行:上面广义表出现空“,”是因为有的节点只有左孩子没有右孩子,有的有右孩子没有左孩子。实验四:初始界面:输入10:输入 10 个数据,得到中序输出为:输入57,查找:删除69:这里没有演示插入功能,因为在构造排序二叉树时,就已经用到了插入(见源代码)。附件:实验一:#includestdio.h#includestdlib.h#includemalloc.h#includeiostreamusing namespace std;#define OK 1#define ERROR 0#define OVERFLOW -1#define TRUE 1#define FALSE 0#define _MAXSIZE 100int l=10;typedef int Status;typedef int ElemType;typedef struct List{ElemType *data;int Listsize;int length;};Status InitList(List L){L.data=(ElemType *)malloc(_MAXSIZE * sizeof(ElemType));if(!L.data)exit(OVERFLOW);L.Listsize=_MAXSIZE;L.length=0;return OK;};Status ListInsert(List L,int i,ElemType e){ int j; if(i1||il) { printf(ERROR\n); return ERROR; } if(L.length==L.Listsize){ L.data=(ElemType*)realloc(L.data,(L.Listsize)+1); L.Listsize=L.Listsize+1; } for(j=L.length;j=i;j--) L.data[j]=L.data[j-1]; L.data[i-1]=e; L.length=L.length+1; return OK;};int ListDelete(List L,int i){/*将sqlist *l的第 i位置的元素删除*/ int j; if(i1||iL.length) return ERROR; else for(j=i;jL.leng

文档评论(0)

tmd2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档