电梯调度程序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解决

类图

posted @ 2018-04-19 23:24  rtxux  阅读(326)  评论(1编辑  收藏  举报