中山大学新华学院实验报告 课程名称: 数 据 结 构 实验名称: 实 验 一 线性表的顺序存储结构 和链式存储结 构 班 级: 09 级计算机 学生姓名: 郑永坤 学号: 09052029 指导教师评定: 签 名: 题目:利用线性表的顺序存储结构和链式存储结构分别存储数据并把数据输出
一、需求分析 ⒈ 本演示程序分别用顺序存储结构和链式存储结构存储数据并把数据输出
⒉ 在演示过程序中,用户敲击键盘,输入数据存储,即可看到数据的输出
⒊ 程序执行的命令包括: (1)定义结构体 (2)建立空表 (3)构造输入数据的函数 (4)构造输出数据的函数 二、概要设计 ⒈ 为实现上述算法,需要线性表的抽象数据类型: 顺序存储结构的抽象数据类型: ADT SqList { 数据对象:D={ai:|ai∈ElemSet,i=1…n,n≥0} 数据关系:R1={|ai-1,ai∈D,i=2,…n≥0} 基本操作: InitList_Sq(SqList *L) 操作结果:构造一个空的线性表L
inputlist(SqList *L) 初始条件:线性表L 已经存在 操作结果:存储输入的数据元素
outputlist(SqList *L) 初始条件:线性表L 已经存在 操作结果:输出表L
}ADT SqList 链式存储结构的抽象数据类型: ADT linklist { 数据对象:D={ai:|ai∈ElemSet,i=1…n,n≥0} 数据关系:R1={|ai-1,ai∈D,i=2,…n≥0} 基本操作: linklist *creatL(linklist *L) 初始条件:线性表L 已经存在 操作结果:存储输入的数据元素
output(linklist *L) 初始条件:线性表L 已经存在 操作结果:输出表L
}ADT linklist 2
本程序有三个模块: ⑴ 主程序模块