python队列queue 之优先级队列

Posted 扫驴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python队列queue 之优先级队列相关的知识,希望对你有一定的参考价值。

import queue as Q

def PriorityQueue_int():
    que = Q.PriorityQueue()
    que.put(10)
    que.put(1)
    que.put(5)
    while not que.empty():
        print (que.get())
PriorityQueue_int()
‘‘‘最先弹出1,然后5,最后10‘‘‘
import queue as Q

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 = Q.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()

‘‘‘
当队列的元素是自定义时,需要我们在元素的类中定义出比较规则
‘‘‘ 

 

以上是关于python队列queue 之优先级队列的主要内容,如果未能解决你的问题,请参考以下文章

Python数据结构-队列与广度优先搜索(Queue)

优先队列(oriority queue)之最大优先队列的实现

python 线程队列,线程池

NoHttp封装--06 NoHttp之队列队列优先级

Python数据结构与算法---优先级队列queue

Python数据结构与算法---优先级队列queue