第一题:

大楼里面的电梯一般分区域,或考虑思考题第四题的情况,运行楼层不一样的电梯属于不同的区域。然后在接口IRequest和IPassenger还有IElevator里面都加上int area这个属性,用不同的整数表示不同的区域,其中IPassenger需要的是一个int area的数组,来表示这位乘客要到达目标楼层,则需要先后是用的电梯分别所属的区域。并且依照此改变输入行驶。改变了这些interface之后,就更加贴近现实实际,也能用比现在更加方便的办法处理思考题第四题。

第二题:/

第三题:/

第四题:

需要在我的原程序上改的地方有如下:

1,人进入电梯的函数enter要改,按照贪心算法,只要是经过这个人的地方的电梯,行进方向又与他要去的方向相同,而且电梯内剩余载重还足够,那么就让这个人上电梯。

2,人离开电梯的函数leave要改,如果这个人乘坐的这趟电梯到了头,也不能够到达这个人需要去的楼层,那就让这个人在这一层楼下电梯,而且保持这个人要去原目标楼层的需求,将这个需求的来源楼层改成当前下电梯的这一层,在下次有电梯经过此人现在楼层时,检查电梯剩余载重,如果足够则让这个人搭乘这一趟电梯继续向目标楼层进行。

3,在电梯不动的时候启动的startNew函数要改,函数中都进行判定,如果电梯不在elevID即电梯序号对应的工作楼层的话,函数就不工作,如果进来的人的按下的按钮即内部需求,要去的楼层超出自己能够达到的楼层,那就在现行方向最远端停下让这个人下电梯。在pickUp函数中,只要有人在行进方向上,要去的方向与现行方向相同,那就停下让这个人上电梯。

经过如上改进应该可以达到思考题的要求。

Pair Project: Elevator Scheduler [电梯调度算法的实现和测试]:思考题——谢勤政11061197的更多相关文章

  1. Pair Project: Elevator Scheduler [电梯调度算法的实现和测试]:谢勤政-11061197,吴润凡-11061185

    一,关于结对编程 结对编程的优点: 1)在开发层次,结对编程能提供更好的设计质量和代码质量,两人合作能有更强的解决问题的能力. 2)对开发人员自身来说,结对工作能带来更多的信心,高质量的产出能带来更高 ...

  2. 软件工程 --- Pair Project: Elevator Scheduler [电梯调度算法的实现和测试] [附加题]

    软件工程 --- Pair Project: Elevator Scheduler [电梯调度算法的实现和测试] [附加题] 首先,在分组之前,我和室友薛亚杰已经详细阅读了往届学长的博客,认为电梯调度 ...

  3. 软件工程 --- Pair Project: Elevator Scheduler [电梯调度算法的实现和测试]

    软件工程  ---   Pair Project: Elevator Scheduler [电梯调度算法的实现和测试] 说明结对编程的优点和缺点. 结对编程的优点如下: 在独立设计.实现代码的过程中不 ...

  4. Pair Project: Elevator Scheduler [电梯调度算法的实现和测试]

    作业提交时间:10月9日上课前. Design and implement an Elevator Scheduler to aim for both correctness and performa ...

  5. Pair Project: Elevator Scheduler [电梯调度算法的实现和测试]:刘耀先-11061183,罗凡-11061174

    本次为我们两个人的第一次结对编程.从总体而言,我们对结对编程比单人编程略显不适应.但是经过一段时间的磨合,我们逐渐的习惯了这种编程方式. 1.  结对编程的优缺点 结对编程的优点: (1)       ...

  6. Pair Project: Elevator Scheduler [电梯调度算法的实现和测试][关于电梯调度算法的附加思考]:刘耀先-11061183,罗凡-11061174

    本文为对于电梯调度算法的三个附加题思考 1.改进电梯调度的interface 设计, 让它更好地反映现实, 更能让学生练习算法, 更好地实现信息隐藏和信息共享. <1>进一步提高API定义 ...

  7. Pair Project: Elevator Scheduler [电梯调度算法的实现和测试] --11061188刘强

    结对编程总结 队员:刘强(11061188) 林谋武(11061169) 结对编程: 结对编程的优点: 1.  两个人合作,相比于一个人自己奋斗而言,更能激发自己的潜能:我们在合作过程中,互相学习,互 ...

  8. Pair Project —— Elevator Scheduler

    结对编程人员 12061153 刘丽萍 12061154 冯飘飘 说明结对编程的优点和缺点. 结对编程的优点: 以前都是自己一个人编程,对于相互结对或者团队编程都没有接触过.而自己在写代码时不可避免的 ...

  9. 关于软件工程结对编程作业 PairProject : Elevator Scheduler(电梯调度算法的实现与测试)的总结

    1)结对编程队友 1106xxxx 张扬 1106xxxx 杨军 其中,此项目的编程实现主要由前者完成. 2)关于结对编程 结对编程的优点: 最直接的一点:在结对编程中,由于有另一个人在你身边和你配合 ...

随机推荐

  1. Swift数据类型

    1.Swift中常用数据类型:首字母大写 Int.Float.Double.Bool.Character.String Array.Dictionary.元组类型(Tuple).可选类型Optiona ...

  2. CentOS7安装和配置FTP

    1. 安装vsftpd #安装vsftpd yum install -y vsftpd #设置开机启动 systemctl enable vsftpd.service # 重启 service vsf ...

  3. myeclipse安装本地maven fastdfs_client.jar

    为了方便应用程序的访问FastDFS,官网提供了fastdfs-client-java,以便更好的与应用程序结合使用. 下载fastdfs-client-java源码添加到项目工程里面,添加配置文件: ...

  4. oracle学习总结3

    1:ddl语句创建一张学生表 create table stu(id number(6) not null,name varchar2(20),age number(3),gender char(1) ...

  5. 【转载】为什么不建议<=3G的情况下使用CMS GC

    之前曾经有讲过在heap size<=3G的情况下完全不要考虑CMS GC,在heap size>3G的情况下也优先选择ParallelOldGC,而不是CMS GC,只有在暂停时间无法接 ...

  6. Android Studio中文组(中文社区)

    Android Studio中文组(中文社区)http://www.android-studio.org/

  7. centos7下载安装谷歌浏览器

    centos7安装完成结束后,发现自带的火狐浏览器不太习惯,自己还是习惯谷歌浏览器,因为是新手嘛,所以自己就各种找教程看如何下载安装谷歌浏览器,一个一个按照教程试验,终于最后试验成功了一个,亲测可用. ...

  8. 永久设置 NLS_DATE_FORMAT 方法

    在客户端(如WEB服务器),设置环境变量即可,如: NLS_DATE_FORMAT YYYY-MM-DD HH24:MI:SS   在程序处执行会影响后续SQL性能 ALTER SESSION SET ...

  9. (转)QRCODE二维码介绍及常用控件推荐

    什么是QR Code码? QR Code码是由日本Denso公司于1994年9月研制的一种矩阵二维码符号,它具有一维条码及其它二维条码所具有的信息容量大.可靠性高.可表示汉字及图象多种文字信息.保密防 ...

  10. sublime 安装 Terminal 使用 cmder

    在 packagecontrol.io 可以找到 Terminal. 在 cmder.net 下载 cmder 复制 Terminal.sublime-settings 文件到 C:\Users\WX ...