首页 > 其他 > 详细

实现优先级队列

时间:2020-05-02 22:01:53      阅读:48      评论:0      收藏:0      [点我收藏+]
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,name):
        self.name=name
    def __repr__(self):
        return Item({!r}).format(self.name)

q=PriorityQueue()
q.push(Item(AAA),1)
q.push(Item(BBB),4)
q.push(Item(CCC),5)
q.push(Item(DDD),1)
print(q.pop())
print(q.pop())
print(q.pop())

技术分享图片

 

实现优先级队列

原文:https://www.cnblogs.com/hany-postq473111315/p/12819475.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!