停车场管理实验数据结构与算法

停车场管理实验数据结构与算法

ID:33092226

大小:119.01 KB

页数:13页

时间:2019-02-20

停车场管理实验数据结构与算法_第1页
停车场管理实验数据结构与算法_第2页
停车场管理实验数据结构与算法_第3页
停车场管理实验数据结构与算法_第4页
停车场管理实验数据结构与算法_第5页
资源描述:

《停车场管理实验数据结构与算法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、广州中医药大学信息技术学院实验报告课程名称:数据结构与算法专业班级:计算机科学与技术(2011)级实验组号:第七组学生学号和姓名:实验名称:停车场管理实验成绩:课程类别:必修þ限选□公选□其它□实验五停车场管理实验目的:学习使用栈与队列解决实际问题。实验内容:停车场问题模拟班级:计算机科学与技术专业(2011)级(B)班实验组号:第七组完成日期:2012年11月20日一.问题的需求分析1.问题描述设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的

2、第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制程序模拟该停车场的管理。2.需求分析(1)设计存储结构(2)分析与定义基本操作。二.抽象数据

3、类型的设计PSeqStackA=createSeqStack_seq();/*初始化停车场*/PSeqStackB=createSeqStack_seq();/*初始化停车场的临时栈道*/PLinkQueueC=createEmptyQueue_link();/*初始化便道*/根据题目要求,停车场只有一个大门,因此可用一个栈来模拟,我们称之为主栈;当停车场满后,到来的车辆只能停在便道上,根据便道停车的特点,可用一个队列来模拟(先排队的车辆先离开便道,进入停车场)而每当停车场中间的车辆离开时,要求大门到欲离开车辆之间的车辆必须先离开停

4、车场,让此车辆离去,然后再依序进入停车场,为保存这些车辆的位置也需栈,称为辅助栈。因此本问题需要用到两个栈和一个队列。三.算法与数据结构的设计voidgettime(int*i,char*hour,char*minute,char*String)intarrival(PSeqStackEnter,PLinkQueueW)/*车辆到达*/voidprint(CarNodem,intp)/*打印车的信息*/voidLeave1(PSeqStackA,PSeqStackB,PLinkQueueC)/*停车场的车离开*/voidLeave2

5、(PLinkQueueA)/*便道上的车离开*/voidlist1(PSeqStackp)/*查看停车场车辆情况*/voidlist2(PLinkQueues)/*显示便道的情况*/voidprintMenu(PSeqStackA,PSeqStackB,PLinkQueueC)/*程序的主要界面*/主函数main创建两个栈:A(停车场)一个队列C(便道)操作界面调用函数printMenuBALCDEarrivallist1leave2leave1退出程序list2创建辅助栈B四.算法的精化与程序的实现//进入停车场管理系统的操作界面

6、函数:voidprintMenu(PSeqStackA,PSeqStackB,PLinkQueueC)/*程序的主要界面*/{chara;intb;printf("===================欢迎进入停车场管理系统===================");printf("A.车辆到达");printf("B.查看便道停车情况");printf("C.查看停车场停车情况");printf("D.便道车辆离开");printf("L.停车场车辆离开");printf("E.退出");printf(

7、"============================================================");while(1){b=MAXSIZE-A->top-1;printf("你好!本停车场共有%d个车位,现还有%d个空位,停车收费为%d元/分钟",MAXSIZE,b,price);printf("请输入你的选择:");while(1){scanf("%s",&a);if(a=='A'

8、

9、a=='B'

10、

11、a=='C'

12、

13、a=='D'

14、

15、a=='L'

16、

17、a=='E'

18、

19、a=='a'

20、

21、a=='b'

22、

23、a

24、=='c'

25、

26、a=='d'

27、

28、a=='l'

29、

30、a=='e')break;elseprintf("输入有误,请重新输入!");printf("请输入你的选择:");}switch(a){case'A':case'a':arriv

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

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

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