java数据结构停车场管理系统_《数据结构》实验设计报告-停车场管理系统

《《数据结构》实验设计报告-停车场管理系统》由会员分享,可在线阅读,更多相关《《数据结构》实验设计报告-停车场管理系统(28页珍藏版)》请在人人文库网上搜索。

1、数据结构实验设计报告题目: 停车场管理系统 姓名: * 学号: 班级: 学院:计算机科学与技术学院目录一、 问题描述03 二、 问题分析03三、 数据结构描述04四、 算法设计04五、 程序优缺点分析及优化05六、 程序源代码07七、 程序运行结果13八、 心得体会15附一、优化后的程序16附二、优化后程序的运行结果23一、 问题描述 设计一个停车场管理系统。设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在停车场的最北端),若停车场内已停满n辆汽车,则后来的汽车只能在门外的便道上。

2、等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。【基本要求】以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时。

3、间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表结构实现。【选作内容】(1)两个栈共享空间,思考应开辟数组的空间是多少?(2)汽车可有不同种类,则他们的占地面积不同,收费标准也不同,如1辆客车和1.5辆小汽车的占地面积相同,1辆十轮卡车占地面积相当于3辆小汽车的占地面积。(3)汽车可以直接从便道上开走,此时排在它前面的汽车要先开走让路,然后再依次排到队尾。二、问题分析 该问题需要以栈和队列作为基本的存储结构,以顺序栈模拟停车场,以链队列模拟车场外的便道。汽车进入停车场,即是在顺序栈上执行进栈操作,退出停车场即是在顺序栈上执行出栈操作;汽车进入便道,即是在链队列上执行入。

4、队操作,退出便道即是在链队列上执行出队操作。当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场。设要删除的元素在顺序表St中位置为i,则从i到top之间的全部元素进入到一个临时栈St1中, 其次再删除该元素,然后将临栈St1的元素按照“先进后出”的原则重新回到St中。若链队不空,则使队头进栈St,并以当前时刻开始计费。程序需要构造两个顺序栈St和St1,其中St用于模拟停车场,St1用作临时栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车。此外还需要构造一个链队列Qu用于模拟便道。三、 数据结构描述/*定义顺序栈类型*/ t。

5、ypedef struct int CarNoN;/*车牌号*/int CarTimeN;/*进场时间*/int top;/*栈指针*/ SqStack;/*定义顺序栈类型*/*定义链队类型*/typedef struct qnodeint CarNo; /*车牌号*/struct qnode *next; QNode;typedef structQNode *front; /*队首和队尾指针*/QNode *rear; LiQueue;四、 算法设计1. 对于子函数模块,则调用顺序栈的基本操作和链队列的基本操作。如下:/*顺序栈的基本运算算法*/void InitStack(SqStack 。

6、*&s)int StackEmpty(SqStack *s)int StackFull(SqStack *s)/*S中的插入新元素*/int Push(SqStack *&s,int e1,int e2)/*删除S的栈顶元素,并用e1,e2返回其值*/int Pop(SqStack *&s,int &e1,int &e2)void DispStack(SqStack *s)/*以下为链队列的基本运算算法*/void InitQueue(LiQueue *&q)int QueueLength(LiQueue *q)int QueueEmpty(LiQueue *q)void enQueue(Li。

7、Queue *&q, int e) int deQueue(LiQueue *&q,int &e)void DisplayQueue(LiQueue *q)2.主程序模块void main()初始化;do 接受命令;处理命令; while(命令!=”退出”);五、 程序优缺点分析及优化1.程序的优点在程序中设置了kind变量,用于保存车的类别,便于计

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值