python 优先级队列PriorityQueue

本文内容来自于python队列queue 之优先级队列

PriorityQueue创建的是大顶堆,即值越小优先级越高。

创建&取数

from queue import PriorityQueue

def PriorityQueue_int():
    que = PriorityQueue()
    que.put(10)
    que.put(1)
    que.put(5)
    while not que.empty():
        print (que.get())
PriorityQueue_int()

自定义优先级

from queue import PriorityQueue
class Skill(object):
    def __init__(self, priority, description):
        self.priority = priority
        self.description = description
    
    def __lt__(self, other): 
        return self.priority < other.priority
                   
    def __str__(self):
        return '(' + str(self.priority)+',\'' + self.description + '\')'

def PriorityQueue_class():
    que = PriorityQueue()
    que.put(Skill(7,'proficient7'))
    que.put(Skill(5,'proficient5'))
    que.put(Skill(6,'proficient6'))
    que.put(Skill(10,'expert'))
    que.put(Skill(1,'novice'))
    print ('end')
    while not que.empty():
        print (que.get())
    
PriorityQueue_class()

打印结果

(1,'novice')
(5,'proficient5')
(6,'proficient6')
(7,'proficient7')
(10,'expert')
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容