实用文档
课 程 实 验 报 告
课程名称: 数据结构实验
专业班级: 信息安全201502 学 号: 姓 名: 指导教师: 报告日期: 2016年 10月 28 日
计算机科学与技术学院
标准
实用文档
目 录
1基于顺序存储结构的线性表实现 ..................................... 1 1.1问题描述 ........................................................ 1 1.2系统设计 ........................................................ 1 1.3系统实现 ........................................................ 1 1.4实验小结 ........................................................ 1 2 基于二叉链表的二叉树实现 ........................................ 2 2.1问题描述 ........................................................ 2 2.2系统设计 ........................................................ 2 2.3系统实现 ........................................................ 2 2.4实验小结 ........................................................ 2 指导教师评定意见 .................................................. 3 附录A 基于顺序存储结构线性表实现的源程序 .......................... 4 附录B 基于二叉链表二叉树实现的源程序 .............................. 5
标准
实用文档
1 基于顺序存储结构的线性表实现
1.1 问题描述
采用顺序表的物理结构,构造一个具有菜单的功能演示系统。其中,在主程序中完成函数调用所需实参值的准备和函数执行结果的显示。定义了线性表的初始化表、销毁表、清空表、判定空表、求表长和获得元素等基本运算对应的函数,并给出适当的操作提示显示,可选择以文件的形式进行存储和加载,即将生成的线性表存入到相应的文件中,也可以从文件中获取线性表进行操作。 1.1.1 线性表的基本概念
线性表是最常用且最简单的一种数据结构,即n个数据元素的有限序列。线性表中元素的个数n定义为线性表的长度,n=0时成为空表。在非空表中的每个数据元素都有一个确定的位置,如a1是第一个数据元素,an是最后一个数据元素,ai是第i个数据元素。线性表的存储结构分为线性存储和链式存储。 1.1.2 逻辑结构与基本运算 线性表的数据逻辑结构定义如下:
ADT List{
数据对象:D={ai|ai∈ElemSet,i=1,2,……,n,n≥0} 数据关系:R1={
依据最小完备性和常用性相结合的原则,以函数形式定义了包括线性表的初 始化表、加载表、保存表、销毁表、清空表、判定空表、求表长、获得元素、查 找元素、获得前驱、获得后继、插入元素、删除元素、遍历表 14 个基本运算, 要求分别定义函数来实现上述功能,具体功能运算如下:
⑴初始化表:函数名称是InitaList(L);初始条件是线性表L不存在已存在;操作结果是构造一个空的线性表。
⑵销毁表:函数名称是DestroyList(L);初始条件是线性表L已存在;操作结果是销毁线性表L。
标准