阿强134 2018-02-28 02:11 采纳率: 0%
浏览 2243
已结题

停车场管理 — 栈和队列c++

设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次有北向南排列(大门在最南端,最先到达的第一车停放在车场的最北端),若车场内已停满n辆车,那么后来的车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。
【基本要求】
以栈模拟停车场,以队列模拟车场外的便道。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停车不收费)。栈以顺序存储结构实现,队列以链表结构实现。

  • 写回答

2条回答 默认 最新

  • 深夜干活总结 2018-02-28 02:21
    关注

    二、停车场管理(栈和队列的应用)
    [问题描述]
    设停车场是一个可以停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次有北向南排列(大门在最南端,最先到达的第一车停放在车场的最北端),若车场内已停满n辆车,那么后来的车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。
    [实现提示]
    以栈模拟停车场,以队列模拟车场外的便道。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停车不收费)。栈以顺序存储结构实现,队列以链表结构实现。

    3、 算法设计
    算法思想
    建立两个栈一个作为停车场,另一个作为临时栈,建立一个队列。使用栈和队列的配合使用,进行停车场的建立,栈以顺序存储结构实现,队列以链表结构实现。首先在栈空的时候,使车辆进栈,保存车辆的进栈信息,以及输入时间和代码,当栈的指针指向栈顶,及大于stack[MAX+1]时,那么以后的车就先进入便道,当停车场的车有离开的时候,那么在该车以后的车在p++的引导下,相继开出停车场并进入临时栈,当该车开出的时候,那么刚才出去的车在按照先前的次序依次进栈,再把先前停在便道上的车按次序进栈。定义栈的顺序存储结构和队列的链式存储结构,同时定义栈顶指针top和栈底指针base。然后初始化栈,同时定义在停车时的停车时间time和所需要的费用mony的关系当车进入的时候栈顶元素+1,在当车进来的时候在+1,直到空间不足,当车进来的时候显示停车场已经停满,要停到便道上,便道元素+1;当停车场的车出来一辆之后,便道上的车才能进入停车场,队列元素减1,栈元素加1。而离开的车辆则输出离开的时间,调用计费函数,进行停车费的计算。

    评论

报告相同问题?

悬赏问题

  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘