阿强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 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题