最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python利用heapq實(shí)現(xiàn)一個(gè)優(yōu)先級(jí)隊(duì)列的方法

 更新時(shí)間:2019年02月03日 17:05:20   作者:LazyCat_CiCi  
今天小編就為大家分享一篇Python利用heapq實(shí)現(xiàn)一個(gè)優(yōu)先級(jí)隊(duì)列的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

實(shí)現(xiàn)一個(gè)優(yōu)先級(jí)隊(duì)列,每次pop的元素要是優(yōu)先級(jí)高的元素,由于heapq.heapify(list)默認(rèn)構(gòu)建一個(gè)小頂堆,因此要將priority變?yōu)橄喾磾?shù)再push,代碼如下:

import heapq
class PriorityQueue(object):
  """實(shí)現(xiàn)一個(gè)優(yōu)先級(jí)隊(duì)列,每次pop優(yōu)先級(jí)最高的元素"""
  def __init__(self):
    self._queue = []
    self._index = 0
  def push(self,item,priority):
    heapq.heappush(self._queue,(-priority,self._index,item))#將priority和index結(jié)合使用,在priority相同的時(shí)候比較index,pop先進(jìn)入隊(duì)列的元素
    self._index += 1
  def pop(self):
    return heapq.heappop(self._queue)[-1]
if __name__ == '__main__':
  pqueue = PriorityQueue()
  pqueue.push('d',4)
  pqueue.push('f',3)
  pqueue.push('a',6)
  pqueue.push('s',2)
  print(pqueue.pop())
  print(pqueue.pop())
  print(pqueue.pop())

Python利用heapq實(shí)現(xiàn)一個(gè)優(yōu)先級(jí)隊(duì)列

以上這篇Python利用heapq實(shí)現(xiàn)一個(gè)優(yōu)先級(jí)隊(duì)列的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

奉化市| 尼木县| 汾西县| 错那县| 黎城县| 重庆市| 古田县| 米泉市| 封开县| 广平县| 南通市| 巧家县| 柞水县| 同江市| 宝山区| 龙里县| 白水县| 麻栗坡县| 交口县| 天长市| 闵行区| 调兵山市| 东莞市| 中宁县| 双流县| 万安县| 中阳县| 盐边县| 翁源县| 淮滨县| 青川县| 洛阳市| 襄城县| 漳平市| 夏河县| 深泽县| 汉阴县| 安阳市| 镇巴县| 金寨县| 赤水市|