- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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时,直
您可能关注的文档
- 基层工会选举成立大会程序.doc
- 基础护理学试题B卷及答案.doc
- 塑料注塑模设计案例(盖).doc
- EasyUI表单.PDF
- 境外培训安全管理办法.doc
- 处理客户投诉的方法和步骤.doc
- 复合函数习题.doc
- 复旦238文博综合历年真题.doc
- EPC模式下输变电工程管理流程体系综合评价.PDF
- 大学数学概率论第5次作业.doc
- 2025年海南政法职业学院单招职业适应性测试模拟试题及答案解析.docx
- 2025年海南健康管理职业技术学院单招职业适应性测试模拟试题及答案解析.docx
- 2025年河南省鹤壁市高职单招职业适应性测试题库及答案解析.docx
- 2025年河南省信阳市高职单招职业适应性测试题库及答案解析.docx
- 2025年河北省衡水市高职单招职业适应性测试模拟试题及答案解析.docx
- 2025年贵州应用技术职业学院单招职业适应性测试模拟试题及答案解析.docx
- 2025年湖北省高职单招职业适应性测试模拟试题及答案解析.docx
- 2025年湖南省邵阳市高职单招职业适应性测试题库及答案解析.docx
- 2025年菏泽职业学院单招职业适应性测试模拟试题及答案解析.docx
- 2025年河南地矿职业学院单招职业适应性测试模拟试题及答案解析.docx
最近下载
- 课程思政英语 说课.pptx
- 【IPO案例】认缴制下尚未实缴出资的股权投资的会计处理.pdf VIP
- GB 7099-2015 食品安全国家标准 糕点面包(高清版).pdf
- [其他地区]西藏日喀则昂仁县司法局招聘专职人民调解员笔试历年高频考点(难、易错点)附带答案详解.docx
- 喉罩在小儿麻醉中--课件.ppt VIP
- 喉罩在小儿麻醉中.ppt VIP
- 沪教版小学六年级英语上Unit 9 Great cities of the world 教案.pdf VIP
- 新部编版道德与法治六年级下册《探访古代文明第1课时早期文明发祥地》教案设计.docx
- 教科版六年级科学上册第二单元《地球的运动》测试卷及答案(含四套题).doc VIP
- 我的情绪小怪兽[借鉴].pptx VIP
文档评论(0)