• C/C++停车场模拟(栈和队列)


    C/C++停车场模拟(栈和队列

    【讨论问题2】栈和队列的应用
    [问题描述]
    设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在停车场的最北端),若停车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入停车场;当停车场内某辆车要离开时,在它之后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其他车辆再按原次序进入车场;每辆停放在车场的车在它离开停车场时,必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。
    [实验目的]
    (1)理解栈(先进后出)和队列(先进先出)的工作特点;
    (2)掌握栈结构的构造方法以及栈的基本操作(出栈、入栈);
    (3)掌握队列的构造方法以及队列的基本操作(出队、入队);
    (4)运用栈和队列解决实际问题。
    [实验内容及要求]
    (1)以栈模拟停车场,以队列模拟停车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:(i) 汽车“到达”或“离去”信息,(ii) 汽车牌照号码,(iii) 到达或离去的时刻。
    (2)对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间(单位是小时)和应交纳的费用(在便道上停留的时间不收费),假设停车费为每小时m元。
    (3)等候在便道上的汽车可以直接从便道上开走,但此时排在它前面的汽车要先开走让路,然后再依次排到队尾。
    (4)栈和队列均采用链表结构实现。
    (5)提示:需另设一个栈(也用链表结构实现),临时停放为给要离去的汽车让路而从停车场退出来的汽车。栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照号码和进入停车场的时刻。

    源码传送门

    传送门:https://pan.baidu.com/s/1veef91VGmQq1aIokc6UO2g?pwd=1111

  • 相关阅读:
    华为认证 | 安全HCIP和数通HCIP,该怎么选?
    设计模式——结构型模式(静态代理、JDK动态代理)
    Android 13 - Media框架(12)- MediaCodec(二)
    深入理解注意力机制(上)-起源
    今天面了个腾讯拿 38K 出来的大佬,让我见识到了 Java 面试八股文的天花板
    redis中数据类型命令整理
    memcpy和memmove函数的介绍和模拟实现
    【Spirng】@Component和@Configuration和@Bean的区别
    网络安全(黑客)-小白自学
    微前端的暗位面
  • 原文地址:https://blog.csdn.net/qq_35960743/article/details/127449230