数据结构实验报告(霍夫曼树,二叉排序树,车库问题).doc

数据结构实验报告(霍夫曼树,二叉排序树,车库问题).doc

ID:55773589

大小:590.00 KB

页数:30页

时间:2020-06-07

数据结构实验报告(霍夫曼树,二叉排序树,车库问题).doc_第1页
数据结构实验报告(霍夫曼树,二叉排序树,车库问题).doc_第2页
数据结构实验报告(霍夫曼树,二叉排序树,车库问题).doc_第3页
数据结构实验报告(霍夫曼树,二叉排序树,车库问题).doc_第4页
数据结构实验报告(霍夫曼树,二叉排序树,车库问题).doc_第5页
资源描述:

《数据结构实验报告(霍夫曼树,二叉排序树,车库问题).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数据结构实验报告实验一线性表操作与停车场管理方案设计一、需求分析1.输入的形式和输入值的范围本程序中,需输入的车库中车的总数n与出库车序m为正整数,由键盘输入,以回车结束2.输出的形式通过屏幕输出每辆车的调度结果,包括车辆出库及入库后库内库外车辆序列3.程序所能达到的功能用户从键盘输入需要的数据,从屏幕输出结果4.测试数据请输入车库中车辆的总数:10请输入出库车辆数量:3请输入第1辆出库的车辆序号:6请输入第2辆出库的车辆序号:7请输入第3辆出库的车辆序号:3车库的初始情况为:123456789

2、10第6辆车可以开出停车场时车辆的情况为:车库中:123456待入库:10987第6辆车开出后停车场车辆的情况为:车库中:1234510987第7辆车可以开出停车场时车辆的情况为:车库中:1234510987待入库:第7辆车开出后停车场车辆的情况为:车库中:123451098第3辆车可以开出停车场时车辆的情况为:车库中:123待入库:891054第3辆车开出后停车场车辆的情况为:车库中:12891054一、概要设计以栈和队列结构实现该实验1.抽象数据类型定义ADTQueue{数据对象:D={ai

3、

4、ai∈ElemSet,i=1,2,…,n,n≥0}数据关系:R1={

5、ai-1,ai∈D,i=2,…,n}约定其中ai端为队列头,an端为队列尾基本操作:InitQueue(&Q)操作结果:构造一个空队列QDestroyQueue(&Q)初始条件:队列Q已存在操作结果:队列Q被销毁,不再存在ClearQueue(&Q)初始条件:队列Q已存在操作结果:将Q清为空队列QueueEmpty(Q)初始条件:队列Q已存在操作结果:若Q为空队列,则返回TRUE,否则FALSEQueueL

6、ength(Q)初始条件:队列Q已存在操作结果:返回Q的元素个数,即队列长度GetHead(Q,&e)初始条件:Q为非空队列操作结果:用e返回Q的队头元素EnQueue(&Q,e)初始条件:队列Q已存在操作结果:插入元素e为Q的新队尾元素DeQueue(&Q,&e)初始条件:Q为非空队列操作结果:删除Q的队头元素,并用e返回其值QueueTraverse(Q,visit())初始条件:Q已存在且非空操作结果:从队头到队尾,依次对Q的每个数据元素调用函数visit()。一旦visit()失败,则操

7、作失败。}ADTQueueADTStack{数据对象:D={ai

8、ai∈ElemSet,i=1,2,...,n,n≥0}数据关系:R1={

9、ai-1,ai∈D,i=2,...,n}约定an端为栈顶,a1端为栈底。基本操作:  InitStack(&S)操作结果:构造一个空栈S。DestroyStack(&S)    初始条件:栈S已存在。    操作结果:栈S被销毁。  ClearStack(&S)    初始条件:栈S已存在。    操作结果:将栈S清为空栈。  StackE

10、mpty(S)    初始条件:栈S已存在。    操作结果:若栈S为空栈,则返回TRUE,否则FALSE。  StackLength(s)    初始条件:栈S已存在。    操作结果:返回S的元素个数,既栈的长度。  GetTop(S,&e)    初始条件:栈S已存在且非空。    操作结果:用e返回S的栈顶元素。  Push(&S,e)    初始条件:栈S已存在。操作结果:插入元素e为新的栈顶元素。  Pop(&S,&e)    初始条件:栈S已存在且非空。    操作结果:删除S的栈

11、顶元素,并用e返回其值。  StackTraverse(S,visit())    初始条件:栈S已存在且非空。    操作结果:从栈底到栈顶依次对S的每个数据元素调用函数visit()。一旦visit()失败,则操作失效。}ADTStack1.主程序流程voidmain(){初始化;输入数据;执行功能;显示结果;}1.各程序模块间调用关系主程序↓各功能模块一、详细设计#include#include//定义栈及操作typedefintStatus;type

12、defcharSElemType;#defineSTACK_INIT_SIZE100;//栈存储空间的初始分配量#defineSTACKINCREMENT10;//存储空间分配增量typedefstruct{SElemType*base;//存储数据元素的数组SElemType*top;//栈顶指针intstacksize;//当前分配的栈空间大小}SqStack;StatusInitStack(SqStack&S){//构造一个空栈SS.base=(SElemType*)malloc(size

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。