python使用Queue实现优先级队列,pythonqueue,使用Queue.Queu
python使用Queue实现优先级队列,pythonqueue,使用Queue.Queu
使用Queue.Queue实现的线程安全的优先级队列:
import Queueclass PriorityQueue(Queue.Queue): def _put(self, item): data, priority = item self._insort_right((priority, data)) def _get(self): return self.queue.pop(0)[1] def _insort_right(self, x): """Insert item x in list, and keep it sorted assuming a is sorted. If x is already in list, insert it to the right of the rightmost x. """ a = self.queue lo = 0 hi = len(a) while lo < hi: mid = (lo+hi)/2 if x[0] < a[mid][0]: hi = mid else: lo = mid+1 a.insert(lo, x)def test(): pq = PriorityQueue() pq.put(('b', 1)) pq.put(('a', 1)) pq.put(('c', 1)) pq.put(('z', 0)) pq.put(('d', 2)) while not pq.empty(): print pq.get(), test() # prints z b a c d
相关内容
- python多线程之使用ReadWriteLock,,ReadWriteLoc
- python 调用windows api查看系统的电量,pythonapi,通过调用
- 显示django中的所有url设置,显示djangourl设置,下面的脚本
- python给数字加千分位,每隔三位加逗号,python千分,如题
- python list常用操作封装,pythonlist封装,如下是一系列li
- python 计算时间差,时间加减运算代码,python时间差,Q
- python复制某文件夹下指定扩展名的文件,并且保留原目
- python使用正则表达式实现的javascript文件压缩代码,py
- python使用baidu服务器时间设置操作系统时间,pythonbaid
- python弱引用示例,类保持对它所有实例的弱引用,pyt
评论关闭