电梯.txt

来自「数据结构是编程的基础」· 文本 代码 · 共 36 行

TXT
36
字号
电梯实现时,首先定义电梯栈(记录电梯中的人)、
        电梯排队队列(记录等候电梯的人)、
        搭乘电梯的人(记载每个人的各项状态)

还有电梯自身状态,是否门开但无人进入、
         是否正有人进入电梯、
         电梯状态(上、下、闲)、
                电梯所在楼层
         电梯系统时间
         电梯外的各层按钮状态(是否被按下)
         电梯内各层按钮状态(是否被按下)
         
以上各指针或变量都定义为公共变量,这样极大的方便编程

电梯模式采用单向优先,即首先满足电梯正前进方向的需求

首先电梯初始时在一楼闲置,门关着
系统时间一秒一秒的流逝(调用timeadd函数)直到有人进入系统

有人进入系统,则排入等待队列,(调用getpeople函数)

电梯开门:先让里面的人出,然后从等待人群中找,直到无人出入,关门(opendoor函数)

电梯关门:无人出入则关门,关门期间有出入则开门(closedoor函数),直到门关闭

电梯门关闭后选择电梯运行方向,(调用selectnext函数)

电梯选择好方向后,开始下(调用upele函数)或下(调用downele函数)

人在电梯外等待(调用insertqueue函数)
人进入电梯(调用insertelevator函数)

人走出电梯后即到达目的地,离开系统(调用leftsystem)

整个系统的时间增加全部由timeadd函数完成,确保程序监控着每一时刻

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?