
电梯模拟——数据结构课程设计
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本项目为数据结构课程设计作品,通过模拟电梯运行来展示和实践队列、链表等数据结构的应用及其在实际问题中的优化。
模拟某校五层教学楼的电梯系统。该大楼设有一个自动电梯,在每层均可停留服务。五个楼层自下而上依次为地下层、第一层(进出层)、第二层、第三层及第四层,其中第一层是大楼的主要入口和出口,也是电梯“空闲”时等待的位置;从下至上编号分别为0至4。除了地下层外,其他每层均设有一个要求向上的按钮;除第四层外,则每一楼层都设置了一个要求向下的按钮。对应的变量为:CallUp[0..3]表示1到3楼的向上呼叫请求,CallDown[1..4]则代表2至4楼向下召唤电梯的需求。
该系统中的电梯共有七种状态:开门(Opening)、已开启门(Opened)、关门(Closing)、关闭状态(Closed)、等待乘客或指令(Waiting)以及移动中和减速过程中。当乘客在楼层内等候时,他们将被随机安排进入一个队列进行等待;每个楼层数均设定了两个独立的链式队列:一为要求向上的队伍、另一则用于向下需求者。
与此同时,在电梯内部也设有五个专用栈(EleStack[0…4]),分别对应每一层。乘客根据其目标楼层,会被放置于相应的栈中等待到达目的地;
该模拟从时间点零开始,并以每0.1秒为一个计时单位进行运作。对于人和电梯的动作而言,它们各自需要消耗一定的时间单位(t):当有人进出电梯时,每隔40个时间单位会检测一次是否还有乘客进出需求;若无新动作发生,则关门或开门均需耗时20个时间单元完成每个人进入或离开电梯所需时间为25个时间单元。而加速过程需要15个单位的时间。
在上升过程中,每层楼的通行消耗为51t,减速则花费14t;下降阶段,通过各楼层所需的总时间为61t,并且减速同样需用时23t。
若电梯在一特定楼层停留超过300时间单元,则将自动返回至第1层等待指令。整个模拟中会详细记录并展示系统状态的变化过程以及所有相关的人和电梯的动作序列。
全部评论 (0)


