首页 > 其他 > 详细

实现优先级队列

时间:2020-05-02 22:01:53      阅读:53      评论: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 版权所有
打开技术之扣,分享程序人生!