• 电梯调度程序1


    MMP垃圾作业
    [GitHub](https://github.com/RTXUX/Elevator-scheduling.git)

    简单电梯调度程序

    偷了个懒,拿寒假作业改改

    模块划分

    其实没什么可以说的,跟寒假作业差不多,就是把World类和Elevator类合并了一下

    • Elevator类:维护已入厢乘客容器,当前楼层,负责处理入厢出厢,维护等待状态,运行主循环。
    • Passenger类:其对象记录乘客信息。
    • Scheduler类:(核心)决定电梯的上升下降和停靠,持有Elevator对象的引用,可访问所有需要的信息,可以有自己的状态,可插拔。

    实现方法

    预估时间法

    每一秒,电梯只有向上,向下,停靠三种操作,我们可以预估每种操作所需时间,选取时间最小的。
    仍然是使用移植的Stolf大佬的算法。
    这里必须给Stolf大佬赞一个,几乎所有参数都不硬编码,只需要改几个变量和宏就可以了。

    遇到的困难

    好像我遇到的困难都比较奇怪

    1. Visual Studio无法构建CMake项目

    Visual Studio打开CMake项目后持续创建cmd.exe进程,就是不构建项目,原因未知,网上找不到有相似问题的。
    Workaround: 创建Visual C++项目,把源代码移过去。
    Solution: 重装VS解决

    类图

  • 相关阅读:
    VS2013
    有了门面,程序会更加体面!- pos软件基于三层架构 -09
    无熟人难办事?- 闲聊设计模式-迪米特法则
    三层架构,分层开发
    Filezilla 错误
    归档和压缩
    在Linux系统下用dd命令制作ISO镜像U盘启动盘
    脚本语言
    node.js知识点提取
    npm cnpm
  • 原文地址:https://www.cnblogs.com/rtxux/p/8886780.html
Copyright © 2020-2023  润新知