首页 > 编程语言 > 详细

(转)python 优先队列

时间:2015-10-27 12:58:19      阅读:287      评论:0      收藏:0      [点我收藏+]
#!/usr/bin/python
from Queue import Queue
from Queue import PriorityQueue
a1=‘a1‘
a2=‘a2‘
a3=‘a3‘
a4=‘a4‘
a5=‘a5‘

b1=‘b1‘
b2=‘b2‘
b3=‘b3‘
b4=‘b4‘
b5=‘b5‘

q = Queue()
pq = PriorityQueue()
for i in xrange(5):
    p = 5 - i
    q.put("a"+str(p))
    q.put("b"+str(p))

    pq.put((p,"a"+str(p)))
    pq.put((p,"b"+str(p)))

for i in xrange(5):
    p = 5 - i
    q.put("a"+str(p)+str(i+5))
    q.put("b"+str(p)+str(i+5))

    pq.put((p,"a"+str(p)+str(i+5)))
    pq.put((p,"b"+str(p)+str(i+5)))

size = q.qsize()
print "queue item size:%s" %size
print "queue items:"
for i in xrange(size):
    print q.get()

size = pq.qsize()
print "priority queue item size:%s" %size
print "priority queue items:"
for i in xrange(size):
    print pq.get()

#"but priority queue with same priority is not queue, if we want so, do the following:"
import itertools
count = itertools.count()
poq = PriorityQueue()
for i in xrange(5):
    p = 5 - i
    poq.put((p,count.next(),"a"+str(p)))
    poq.put((p,count.next(),"b"+str(p)))

for i in xrange(5):
    p = 5 - i
    poq.put((p,count.next(),"a"+str(p)+str(i+5)))
    poq.put((p,count.next(),"b"+str(p)+str(i+5)))


size = poq.qsize()
print "priority ordered queue item size:%s" %size
print "priority ordered queue items:"
for i in xrange(size):
    print poq.get()

  

(转)python 优先队列

原文:http://www.cnblogs.com/yxzfscg/p/4913786.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!