数据结构实验报告顺序表
选课时间段: 周四6、7、8、9
序 号:
实验报告
课程名称: 数据结构
实验名称: 顺序表的实现
指导教师:
学生姓名:
学生学号:
实验日期: 2013年4月11日
一、实验目的
1、 熟悉实验环境
2、 理解顺序表的基本操作
3、 了解顺序表的建立和输出
4、 掌握顺序表的插入、删除、合并和归并等实现方法
二、实验内容
三、实验步骤
1.需求分析
本演示程序用C语言编写,完成顺序表的生成,任意位置的插入、删除,以及确定某一元素在顺序表中的位置。
① 输入的形式和输入值的范围:插入元素时需要输入插入的位置和元素的值;删除元素时输入删除元素的位置;查找操作时需要输入元素的值。在所有输入中,元素的值都是整数。
② 输出的形式:在所有三种操作中都显示操作是否正确以及操作后顺序表的内容。其中删除操作后显示删除的元素的值,查找操作后显示要查找元素的位置。
③ 程序所能达到的功能:完成顺序表的生成(通过插入操作)、插入、删除、查找操作。
④ 测试数据:
A. 插入操作中依次输入11,12,13,14,15,16,生成一个顺序表
B. 查找操作中依次输入12,15,22返回这3个元素在顺序表中的位置
C. 删除操作中依次输入2,5,删除位于2和5的元素
2.概要设计
1)为了实现上述程序功能,需要定义顺序表的抽象数据类型: ADT LinkList { 数据对象:D={ai|ai∈IntegerSet,i=0,1,2, ,n,n≥0} 数据关系:R={<ai,ai+1>|ai,ai+1 ∈D} 基本操作: InitLinkList(&L) 操作结果:构造一个空的顺序表L. InsLinkList(&L,pos,e) 初始条件:顺序表L已存在
} 操作结果:将元素e插入到顺序表L的pos位置 DelLinkList(&L,pos,&e) 初始条件:顺序表L已存在 操作结果:将顺序表L中pos位置的元素删除,元素值置入e中返回 LocLinkList(L,e) 初始条件:顺序表L依存在 操作结果:顺序表L中查找是否元素e,若存在,返回元素在表中的位置;若不存 在,返回-1. Menu() 操作结果:在屏幕上显示操作菜单 2)本程序包含7个函数: ① 主函数main() ② 初始化顺序表函数InitLinkList() ③ 显示操作菜单函数menu() ④ 显示顺序表内容函数dispLinkList() ⑤ 插入元素函数InsLinkList() ⑥ 删除元素函数DelLinkList() ⑦ 查找元素函数LocLinkList()
3.详细设计
实现概要设计中定义的所有的数据类型,对每个操作给出C代码算法。对主程序和其他模块也都需要写出C代码算法。
1) 结点类型和指针类型
????????????
2) 顺序表的基本操作
bool InitLinkList(LinkList &L) (C代码算法) void DispLinkList(LinkList L) (C代码算法) void menu() (C代码算法) bool InsLinkList(LinkList &L,int pos,int e) (C代码算法) bool DelLinkList(LinkList &L,int pos,int &e) (C代码算法) int LocLinkList(LinkList L,int e) (C代码算法)
3) 其他模块C代码算法
4.使用说明
程序名为????????.exe,运行环境为DOS。程序执行后显示 ======================== 0----EXIT 1----INSERT 2----DELETE 3----LOCATE ======================= SELECT:
在select后输入数字选择执行不同的功能。要求首先输入足够多的插入元素,才可以进行其他的操作。每执行一次功能,就会显示执行的结果(正确或错误)以及执行后顺序表的内容。
选择0:退出程序 选择1:显示“INSERT pos,e =” , 要求输入要插入的位置和元素的值(都是整数)。 选择2:显示“DELETE pos =” , 要求输入要删除元素的位置,执行成功后返回元素的值。 选择3:显示“LOCATE e = ” , 要求输入要查找元素的值,执行成功后返回元素在表中的位置
6.测试结果
1) 建立顺序表:
» 选择1,分别输入(0,11),(0,12),(0,13),(0,14)(0,15)。得到顺序表(15,14,13,12,11)
2) 插入:
» 选择1输入(1,100),得到顺序表(15,100,14,13,12,11)
» 选择1输入(-1,2),显示输入错误
» 选择1输入(7,2),显示输入错误
» 选择1输入(6,2),得到顺序表(15,100,14,13,12,11,2)
3) 删除:
» 选择2,输入1。返回e=100,得到顺序表(15,14,13,12,11,2) » 选择2,输入0。返回e=15,得到顺序表(14,13,12,11,2)
» 选择2,输入4。返回e=2,得到顺序表(14,13,12,11)
» 选择2,输入5。返回输入错误
4) 查找
» 选择3,输入14。返回pos=0
» 选择3,输入100。返回输入错误
四、实验总结(结果分析和体会)
相关推荐:
- [政务民生]第三章 无约束最优化方法
- [政务民生]泛读教程第三册答案
- [政务民生]魏晋南北朝文学
- [政务民生]幂的运算复习题
- [政务民生]城市环境问题的成因与治理策略_以社会冲突理论为视角
- [政务民生]钢结构行业产业链及竞争分析研究
- [政务民生]新型热塑性弹性体增韧聚丙烯的研究
- [政务民生]中国旅游地理B卷试题及答案
- [政务民生](苏教版)五年级数学上册第三单元测试卷
- [政务民生]不稳定性心绞痛诊断与治疗
- [政务民生]俞氏国际后勤职能部门绩效考核办法
- [政务民生]GB7258-2017新标准考试题含答案
- [政务民生]小学生汉字听写比赛活动方案
- [政务民生]1.3《平抛运动》学案 教科版必修2
- [政务民生]2011香港特别行政区公务员考试复习资料公共基础知识考
- [政务民生]考虑水力条件变化的城市给水管网可靠性分析与研究
- [政务民生]表面活性剂在油田开发和生产中的应用
- [政务民生]ITT内部培训资料-FI端吸泵的介绍
- [政务民生]文明守纪,从我做起学生发言稿
- [政务民生]初中读《聊斋志异》心得体会800字范文
- 干部人事档案材料范围及分类标准
- 苏教版三年级语文上册期末复习修改
- 医务人员标准预防与个人防护
- 英文写作手册中文翻译
- 网络信息检索模式及未来发展
- 宏观经济学03 简单国民收入决定模型
- 汉中市汉台区2015年_专业技术人员继续
- 第一章 生产与运作管理概论
- 原材料风险评估记录表
- 13~14第一学期《动物学》期中(含答案)
- 用Matlab求解差分方程问题
- 《学校艺术教育工作规程》评估方案(试
- 第七章PLC2可编程序控制器的控制系统设
- 通州市2008届高三第六次统一检测试卷生
- 谈高等教育公平的社会价值
- 2011年全国各地100份中考数学试卷分类
- 人教版六年级数上册期末考试卷
- 北大纵横-某集团信息化建设方案
- 中考重点短语句型
- 党员基本情况登记表及填写说明(定稿)