实验报告
实验课程:数据结构实验项目:实验一集合的并交差运算专业:计算机科学与技术班级:姓名:学号:指导教师:
f目录
一、问题定义及需求分析
(1)实验目的(2)实验任务
(3)需求分析
二、概要设计:
1抽象数据类型定义2主程序流程3模块关系
三、详细设计
1数据类型及存储结构2模块设计
四、调试分析
1调试分析2算法时空分析3经验体会
五、使用说明
1程序使用说明
六、测试结果
1运行测试结果截图
七、附录
1源代码
f一、问题定义及需求分析
(1)实验目的
设计一个能演示集合的并、交、差运算程序。(2)实验任务1采用顺序表或链表等数据结构。2集合的元素限定为数字和小写英文字母。(3)需求分析:输入形式为外部输入字符串;输入值限定范围为数字和小写英文字母;输出形式为:字符集;程序功能计算两个集合的交、并、差以及重新输入集合功能;
二、概要设计:
1抽象数据类型定义:线性表
2主程序流程:调用主菜单函数初始化两个线性表作为集合
给两个集合输入数据
输出集
合数据元素信息另初始化两个线性表
创建选择功能菜单界面
通过不同选
项调用不同功能函数
在每个功能函数里面加结束选择功能,实现循环调用功能菜单
计算完毕退出程序;(3)模块关系:
主菜单
差运算
并运算交运算
新建集合
三、详细设计
抽象数据类型定义:typedefstruct
ElemTypeelemi
tle
gthi
tlistsize
结束返回结束
fSqList存储结构:顺序表;
模块1在顺序表的逻辑为i的位置插入新元素e的函数;
算法如下:在顺序表的逻辑为i的位置插入新元素e的函数
StatusListI
sert_SqSqListLi
tiElemTypeeElemType
ewbasepqifi1iLle
gth1retur
0i的合法值为1iLle
gth_SqL1
ifLle
gthLlistsize
当前储存空间已满,增加分配
ewbaseElemTypereallocLelemLlistsizeLISTINCREMENTsizeofElemType
if
ewbaseexit1
储存分配失败
Lelem
ewbase
新基址
LlistsizeLISTINCREMENT
增加储存容量
qLelemi1
q为插入位置
forpLelemLle
gth1pqp
p1p
插入位置及之后的元素往右移
qe
插入e
Lle
gth
表长加1
retur
1
模块二在顺序线性表L中查找第1个与e满足compare的元素位序,若找到,
则返回其在L中的位序,否则返回0
算法如下:
在顺序线性表L中查找第1个与e满足compare的元素位序,若找到,则返回其在L中
的位序,否则返回0
i
tLocateElem_SqSqListLElemTypeeStatuscompareElemTypeElemType
Elr