当前位置: 首页 > news >正文

pair work结束

  终于终于完成了!在请教了6班李栋大神后,我和我的partner吴瀚雄终于完成了电梯调度程序。

  上篇发的算法本来是很好的,但是由于水平有限以及没有考虑周全,导致很多细节问题无法处理。最终我们放弃了这种效率较高的算法。最终我们的算法大概思路基于已经写好的BUS算法,基本如下:

  BUS算法使电梯在每一层都要停靠并且开、关门,这是很浪费时间的,我们的改进也是针对这个问题。首先电梯的三种状态No(无人且停止)、Up(向上行进)、Down(向下行进),对于No的状态我们几乎没做改进,重点在于Up和Down。假设目前电梯正在向上行进,我们需要判断CurrentFloor+1层是否有人摁了电梯以及此部电梯(共有4部电梯)内是否有乘客要在这层(CurrentFloor的+1层)下电梯,若满足以上两种情况的任意一种,电梯才停靠此层;若两种情况都不满足,电梯不停靠。向下行进的情况亦如此。

  这个算法看起来改动不大,但实际操作起来真是困难重重。刚开始我们漏了有4部电梯这一重要条件,浪费了一些时间。这个问题解决后,又出现了因为在foreach循环内使用List的Remove方法而导致的枚举错误。调试这个问题花去了大部分时间。之后的对象未实例化、数据溢出,多亏了李栋大神帮助才得以化解。

  今天太晚了,UML图、运行截图和其他一些要求明天放到下一篇再写。

  附图一张(王熹iTouch偷拍,清晰度见谅):

转载于:https://www.cnblogs.com/yhsui/archive/2012/10/22/2733208.html

相关文章:

  • springboot定制启动标志
  • Windows2000/XP启动过程详解
  • slf4j-logback 日志以json格式导入ELK
  • jquery 笔记。。。——》摘自武方博
  • Linux导入导出Oracle数据库
  • 谈谈这些年来我为什么一直在坚持
  • 3171. [TJOI2013]循环格【费用流】
  • Android OTG之USB转串口模块通讯
  • 扑克千术
  • 删除数据库中所有表
  • 初来乍到
  • .NET成年了,然后呢?
  • android 线程消息深入
  • ios动态库和静态库
  • Chrome开发——第一个博客链接插件
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Brief introduction of how to 'Call, Apply and Bind'
  • Computed property XXX was assigned to but it has no setter
  • Cumulo 的 ClojureScript 模块已经成型
  • ES6之路之模块详解
  • Hibernate【inverse和cascade属性】知识要点
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • Java|序列化异常StreamCorruptedException的解决方法
  • Js基础——数据类型之Null和Undefined
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • SAP云平台里Global Account和Sub Account的关系
  • Swoft 源码剖析 - 代码自动更新机制
  • Vim 折腾记
  • Vue实战(四)登录/注册页的实现
  • 对JS继承的一点思考
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 坑!为什么View.startAnimation不起作用?
  • 用jquery写贪吃蛇
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • #FPGA(基础知识)
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (TOJ2804)Even? Odd?
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (三)mysql_MYSQL(三)
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (算法二)滑动窗口
  • (转)IOS中获取各种文件的目录路径的方法
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • [04] Android逐帧动画(一)
  • [17]JAVAEE-HTTP协议
  • [AIGC] Java 和 Kotlin 的区别
  • [BJDCTF 2020]easy_md5
  • [BZOJ2208][Jsoi2010]连通数
  • [BZOJ4010]菜肴制作
  • [C++] 如何使用Visual Studio 2022 + QT6创建桌面应用