Coding 【每日一题】实现一个按优先级排序的队列 -Python-20210903

Jack · 2021年09月03日 · 最后由 Jack 回复于 2021年09月04日 · 18 次阅读
本帖已被设为精华帖!

实现一个按优先级排序的队列

Jack 将本帖设为了精华贴 09月03日 12:09

参考代码:

import heapq
class PriorityQueue:
    def __init__(self):
        self._queue = []
        self._index = 0

    def push(self, item, priority):
        heapq.heappush(self._queue, (-priority,self._index, item))
        self._index += 1

    def pop(self):
        return heapq.heappop(self._queue)[-1]

class Item:
    def __init__(self):
        self.name = name

    def __repr__(self):
        return 'Item({!r})'.format(self.name)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册