我有一个类,我需要实现一个队列;向左推,然后从右边弹出(FIFO)。
class X:
def __init__(self, a, b):
self._a = a # integer
self._b = b # string
def number(self):
return self._a
def name(self):
return self._b
if __name__ == '__main__':
c1 = X(100, "red")
c2 = X(200, "blue")
...
que = deque()
que.appendleft(c1)
que.appendleft(c2)
...
此外,获取值的最佳方式是:
num = que[0].number()
提前谢谢你。如果有更好的数据结构,请告诉我。
编辑:这个问题的第二部分:
event1 = X(1, "some event")
event2 = X(2, "another event")
eventque = deque()
eventque.appendleft(event1)
eventque.appendleft(event2)
有没有办法按整数值对此事件进行排序?我基本上需要保持两个队列。 eventque必须按整数值排序。当我以最低值弹出事件时,我需要将它放入que(此队列将是FIFO,不需要排序)。
编辑:我明白了。只是使用冒泡排序,它的工作原理。谢谢。