实验报告 顺序表实验.docVIP

  1. 1、本文档共21页,可阅读全部内容。
  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文档。上传文档
查看更多
实验报告 顺序表实验.doc

《数据结构》实验报告 上机题目:顺序表实验 需求分析 实现顺序表的 建立、输出、查找、插入、删除、合并几项功能。 明确说明程序的开发环境和功能要求。针对主要功能,给出如下说明: 输入参数的格式和合法取值范围 输入参数 范围 输入格式 菜单选择数字 0—6, getche()接受键盘上对应的按钮 数据输入 0—9999 scanf(“%s”,data) 程序是否执行 y n getche()接受键盘上对应按键 输出的格式 输出参数 输出格式 文字输出 printf(“******”); 数据输出 printf(“%d”,data[i]) 测试数据 能够完成 顺序表的 建立、输出、查找、插入、删除、合并几项功能。 ******************************** * 1.建立一个顺序表 * * 2.输出一个顺序表 * * 3.在顺序表中查找 * * 4.向顺序表中插入一个元素 * * 5.删除顺序表中的一个元素 * * 6.将两个顺序表合并 * * 0.退 出 * ******************************** 开发环境 Vc6.0 详细设计 确定存储结构,并给出所用数据类型的数据结构定义 采用顺序表存储的线性表。利用内存中的一片起始位置确定的连续存储区域来存放表中的所以元素。可以根据需要对表中的任何数据元素进行访问,元素的插入,删除可以在表中任何位置进行。 typedef struct { ElemType data[MAXSIZE]; int length; }SqList; 给出所用数据类型中每个操作的伪码算法 A.初始化建立的顺序表 Void InitList(SqList L) 置 L.length 为 0 B.建立新的顺序表 Void CreatSqlist(SqList L,int n) 开辟一个数据结构空间,容量是MAXSIZE if str 是四位正整数 记录 else 重新输入正确值 C.输出顺序表 int Output(SqList L) if L.length 等于 0 return 0 else return 1 D. 在顺序表中按位置取值 int GetElem(SqList L,int i) if 取值不在线性表范围内 return -9999; else return L.data[i]; E.在顺序表中按位置取值 int LocateElem(SqList L,ElemType x) While x=L.data[k] if(kL.length) return k; else return -1; F.在i处插入元素 int Insert(SqList L,ElemType x,int i) if 不在k的范围内插入 return 0; else 在 i处插入元素 return 1; G.在i处删除元素 int Delete(SqList L,int i) if i不在L.length范围内 return 0; else 删除i处的元素 return 1; H. 合并la lb两个顺序表 Void MergeList(SqList la,SqList lb,SqList lc) la,lb升序排序 la先存在lc lb再存在lc 调试分析 调试过程中主要遇到哪些问题?是如何解决的? 在程序结束时 如果按书上的代码 printf(继续执行吗Y(1)/N(0): ); scanf(%d,k); if(!k) return; 只要不输入0都会继续执行代码, 所以我想让此时的程序只识别 y 和 n 两个按键 通过 查找 y的 键盘值 是 0x0079 N的 键盘值 是 0x006e 通过 key=getche(),判断key的值来决定标志位的值来。提高了人性化。 输入数据过程中,实现了正整数输入,小数和字母均报错,且重新输入。 所以我加了限制,不允许小数,负数输入。 对于负数,小数,字母,大于4位的数输入情况如下: 只有正整数通过 若没有建立顺序表时,若执行2-6菜单则会 在进行菜单2时,直

文档评论(0)

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

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

1亿VIP精品文档

相关文档