飘逸的python - 实现一个极简的优先队列
2024-09-04 13:40:24
一个队列至少满足2个方法,put和get.
借助最小堆来实现.
这里按"值越大优先级越高"的顺序.
#coding=utf-8
from heapq import heappush, heappop
class PriorityQueue:
def __init__(self):
self._queue = [] def put(self, item, priority):
heappush(self._queue, (-priority, item)) def get(self):
return heappop(self._queue)[-1] q = PriorityQueue()
q.put('world', 1)
q.put('hello', 2)
print q.get()
print q.get()
最新文章
- C#-WebForm-纯HTML提交方式
- shell下批量重命名svn文件的方法
- NHibernate可视化设计插件——Mindscape.NHibernateModelDesigner
- 软件工程实践小队--团队项目NABC
- VMware系统运维(七)vCenter Inventory Server安装
- <;四>; SQL存储过程
- css为网页顶部和底部都加入背景图
- 解决centos7安装wmwaretools找不到kernel header
- MyEclipse中spring MVC的配置
- cocos2dx lua
- [CLR via C#]5.1 基元类型
- iOS 图片裁剪方法
- 摘记:Web应用系统测试内容
- 对象反序列化时,抛出java.io.StreamCorruptedException: invalid type code: AC异常
- dmidecode的Python解析
- mysql 导入数据库问题
- SecureCRT显示乱码的解决办法
- openVPN之Luci及tap模式
- C# WebClient进行FTP服务上传文件和下载文件
- jquery mobile各类组件刷新方法