数据构造停车场管理.docx
《数据构造停车场管理.docx》由会员分享,可在线阅读,更多相关《数据构造停车场管理.docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据构造停车场管理实习报告题目:停车场管理姓名:袁韬博学号:16030120021完成日期:2021.10.23一、需求分析1.此题目要求建立一个可指定长度的栈,和长度可变化的队列,以当作停车场和便道的车的存放。2.此题目要求在停车场的车离开时,便道的车根据先后顺序进入一辆,并开场于此时记录时间。3.在此题目之中在便道的停车不计费用,在此题中应判定在停车场还是在便道的信息。4.此题目要求根据数据的第一位数据判定进入还是离开,根据要求输出信息。5.程序执行命令为:1.存入车辆时输出停车信息2.车辆离开时输出停车时间和应缴纳费用3.输入E时表示结束。6.测试数据:n=2,m(每小时停车费用)=3,
2、A,1,5(A,2,10)(D,1,15)(A,3,20)(A,4,25)(A,5,30)(D,2,35)(D,4,40)(E,0,0)其中A表示为Arrival到达,D表示为Departure离开,E表示为End结束。二、概要设计1.设定栈的抽象数据类型定义数据对象:D=ai|aiSStop,i=1,2,3,n数据关系:R=|aiD,i=1,2,3,n基本操作:initStack(&S,d)操作结果:建立一个长度为d的空栈Push(&S,&e,&d)初始条件:栈已存在,长度为d操作结果:如栈已满返回false,否则将e,压入栈中,返回truePop(&S,e)初始条件:栈已存在操作结果:如栈
3、为空返回false,否则弹栈入e,返回true2.设定队列的抽象数据类型定义数据对象:D=ai|aiSStop,i=1,2,3,n数据关系:R=|aiD,i=1,2,3,n*SQTypeInit()操作结果:建立一个空队列InSQType(*q,&data)初始条件:队列已存在操作结果:将data压入队列之中*OutSQType(*q)初始条件:队列已存在操作结果:弹出队列,返回其指针。3.程序包含6个模块1主程序模块:包含栈与队列的对象建立,输入值的判定以及函数的实现2栈模块:实现停车场抽象数据类型3队列模块:实现便道抽象数据类型4函数模块:实现数据的输入,进入和离开的弹栈与压栈及输出操作三
4、、具体设计#include#include#includeusingnamespacestd;typedefstruct/定义车辆的构造体chara;/进入与离开信息intb;/车牌号intc;/进入或离开时间intd;/在停车场或便道的序号inte;/在停车场为1,在便道为0SStop;typedefstruct/定义栈构造体SStop*base;/定义栈底指针SStop*top;/定义栈顶指针SStopa;/定义栈元素Stop;structSQType/定义队列构造体SStopdata100;/分配队列neicuninthead;/定义队列头inttail;/定义队列尾;SQType*SQ
5、TypeInit()/建立空队列SQType*q;/定义队列指针if(q=newSQType)/建立队列q-head=0;/将队列的头的定为0q-tail=0;/将队列的尾的定为0returnq;/返回队列指针elsereturnNULL;/建立不成功返回NULLintInSQType(SQType*q,SStop&data)/入队列操作if(q-tail=100)/假如队列满返回队列已满!操作失败!coutelse/假如队列不满将data入队列并设置该车的停车位置data.d=1-q-head+q-tail;q-dataq-tail+=data;return1;SStop*OutSQType
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据构造 停车场管理 数据 构造 停车场 管理
限制150内