我正在设计一个电梯系统。为了存储来自乘客的请求,我的第一种方法是使用FIFO队列。但这在以下情况下不起作用:
最初,队列= {}
电梯要求在5楼| queue = {5}
电梯要求在3楼| qqueue = {5,3}
现在,电梯将在前往5楼的路上停在3楼。如果我使用FIFO队列,当它到达3楼时,它将从请求列表中删除第一个元素(5)而不是3。因此,队列不是正确的数据结构。
我在考虑将请求存储在链接列表中。它会起作用吗?目前,我想不出一个不起作用的场景。此外,很多人建议使用2或3个优先级队列,但同样,我不明白为什么会这样。有人可以对此有所了解吗?感谢。