首页 > 代码库 > 飘逸的python - 实现一个极简的优先队列
飘逸的python - 实现一个极简的优先队列
一个队列至少满足2个方法,put和get.
借助最小堆来实现.
这里按"值越大优先级越高"的顺序.
#coding=utf-8 from heapq import heappush, heappop class PriorityQueue: def __init__(self): self._queue = [] def put(self, item, priority): heappush(self._queue, (-priority, item)) def get(self): return heappop(self._queue)[-1] q = PriorityQueue() q.put('world', 1) q.put('hello', 2) print q.get() print q.get()
飘逸的python - 实现一个极简的优先队列
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。