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

Python利用heapq實現(xiàn)一個優(yōu)先級隊列的方法

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

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

import heapq
class PriorityQueue(object):
  """實現(xiàn)一個優(yōu)先級隊列,每次pop優(yōu)先級最高的元素"""
  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相同的時候比較index,pop先進入隊列的元素
    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實現(xiàn)一個優(yōu)先級隊列

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

相關文章

最新評論

永年县| 林周县| 高安市| 揭东县| 当涂县| 浦北县| 乌兰浩特市| 定兴县| 怀来县| 印江| 香港 | 鄄城县| 张掖市| 阳高县| 彰化市| 华宁县| 沈丘县| 融水| 丹东市| 玛纳斯县| 巴林右旗| 门源| 苍梧县| 株洲市| 定州市| 峡江县| 扶风县| 沅陵县| 车险| 开平市| 井陉县| 京山县| 抚顺县| 武胜县| 廊坊市| 宁远县| 江华| 孟津县| 正宁县| 肃北| 江山市|