已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
某栋写字楼 6 层 有 1 部电梯 编写一个电梯仿真程序 A 考虑如下条件 1 每层楼都有上行和下行两个按键 2 电梯一开始停在 1 层 3 电梯可以容纳 8 个人 4 乘坐电梯的客人的请求频率 时间间隔和到达楼层是随机的 5 电梯的上下一层需要 1 秒 6 电梯空间有限 同时只能容纳一定数量的客人 如果已经达到人数额度 电梯将不理会任何请求 7 不考虑客人请求当前楼层和不请求楼层的情况 8 电梯的响应延迟为 0 比如 电梯往 3 楼上行 3 楼的客人在电梯到达 3 楼之前按上行键 程序有权调 度电梯在 3 楼开门 9 电梯的开关门时间和客人上下电梯时间为 0 匀速运行 10 电梯调度算法不能预读尚未发生的请求 比如在 10 秒的时候电梯无法预知 11 秒时某层客人的请求 11 客人请求发生在整数秒 B 目标 1 在运送所有客人到达目标楼层的前提下电梯的总行程尽可能小 2 设计一个接口 实现调度算法的可替换性 比如 通过重新实现该接口可以使系统使用其它算法 C 输入和输出 输入 input txt 客人的请求序列 格式为到达时间 所在楼层 请求楼层 假设该输入是按照时间递增的 比如 input txt 1 2 3 2 3 1 在 1 秒的时候有客人请求从 2 层到 3 层 2 秒的时候有客人请求从 3 层到 1 层 输出 设计一种简单实用的输出可以清晰地反映电梯的运转情况 include include using std cout using std cin using std endl struct floor int to floor next struct Node int up int down floor downto floor upto int ren class lift private int current int toward int person int rch person 7 public enum null up down lift current 1 toward null person 0 for int i 1 i 7 i rch person i 0 int how person return person int return toward return toward void set current void set toward Node int return current return current void insert reach int x void out reach void show cout Now is in current floor the direction is toward there are person howlongtime test time ren 0 lift lift1 int from to floor nt floor ch Node layer 7 srand time 0 for int i 1 i 7 i layer i up 0 layer i down 0 layer i upto NULL layer i downto NULL for int i 0 i howlongtime i lift1 out reach if lift1 how person lift1 set toward layer if lift1 return toward if lift1 return toward up rch layer lift1 return current upto ch rch Node while lift1 how person 8 if front upto front up ch rch rch rch next ren delete ch front upto rch else rch layer lift1 return current downto ch rch Node while lift1 how person 8 if front downto front down ch rch rch rch next ren delete ch front downto rch while havepeople from rand 6 1 to rand 6 1 while from to to rand 6 1 cout Time i from to to nt next NULL if layer from downto NULL layer from downto nt else floor p layer from downto while p next NULL p p next p next nt ren else if from to nt next NULL if layer from upto NULL layer from upto nt else floor p layer from upto while p next NULL p p next p next nt ren lift1 set current bool havepeople return rand 6 1 3 void lift insert reach int x rch person x person void lift out reach person rch person current rch person current 0 void lift set current if toward up current else if toward down current void lift set toward Node layer if ren 0 int i if toward 1 toward 2 int k 1 int t int j if toward 1 i 6 t current else if toward 2 i 1 t current for i t i i k if i 0 j i else j i if layer j up layer j down 0 return if t0 return else toward up return else if layer current up 0 return else toward down return else f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年福建医科大学附属第二医院非在编工作人员招聘备考题库(三)有完整答案详解
- 秦皇岛市第二医院2025年第三批公开选聘工作人员备考题库有完整答案详解
- 2026年湛江市坡头区人力资源和社会保障局面向社会公开招聘编外工作人员备考题库及1套完整答案详解
- 2026年中国人民大学高瓴人工智能学院招聘备考题库及答案详解(考点梳理)
- 2026年四川省儿童医院(四川省儿童医学中心)耳鼻喉内镜技师招聘备考题库参考答案详解
- 2025年乌海市乌达区中小学校人才引进备考题库及参考答案详解1套
- 华中科技大学同济医学院附属协和医院2026年临床科室医疗岗位招聘备考题库完整答案详解
- 福建农林大学南平校区2025年高层次人才招聘备考题库及1套完整答案详解
- 2025年中职航空运输类(空中乘务实务)试题及答案
- 2025年大学财务管理(财务分析基础)试题及答案
- 中图版地理七年级上册知识总结
- 大连理工大学固态相变各章节考点及知识点总节
- 统编版四年级下册语文第二单元表格式教案
- 2022年12月华中科技大学科学技术发展院基地办招聘1名社会用工笔试参考题库含答案解析
- 测量系统线性分析数据表
- 第三单元课外古诗词诵读《太常引·建康中秋夜为吕叔潜赋》课件
- GB/T 5836.1-1992建筑排水用硬聚氯乙烯管材
- GB/T 23445-2009聚合物水泥防水涂料
- 美国COMPASS电磁导航产品介绍课件
- 论文写作讲座课件
- 危险化学品-培训-课件
评论
0/150
提交评论