Python:类的Deque

时间:2015-02-15 19:36:02

标签: class python-2.7 queue deque

我有一个类,我需要实现一个队列;向左推,然后从右边弹出(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,不需要排序)。

编辑:我明白了。只是使用冒泡排序,它的工作原理。谢谢。

0 个答案:

没有答案