前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python 自定义优先级队列

python 自定义优先级队列

作者头像
用户5760343
发布2019-09-25 11:45:58
9100
发布2019-09-25 11:45:58
举报
文章被收录于专栏:sktjsktj

priorityQueue

import heapq

class PriorityQueue: def init(self): self._queue = [] self._index = 0

代码语言:javascript
复制
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]

push,pop

class Item: ... def init(self, name): ... self.name = name ... def repr(self): ... return 'Item({!r})'.format(self.name) ... q = PriorityQueue() q.push(Item('foo'), 1) q.push(Item('bar'), 5) q.push(Item('spam'), 4) q.push(Item('grok'), 1) q.pop() Item('bar') q.pop() Item('spam') q.pop() Item('foo') q.pop() Item('grok')

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.09.24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • priorityQueue
  • push,pop
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档