from queue import PriorityQueue
q = PriorityQueue()
q.put((2, 'code'))
q.put((1, 'eat'))
q.put((3, 'sleep'))
q.put((4, 'play'))
while not q.empty():
next_item = q.get()
print(next_item)
# Result:
# (1, 'eat')
# (2, 'code')
# (3, 'sleep')
# (4, 'play')
python 好像没有 buildin 的方法能把(3, 'sleep')改成(1, 'sleep') 有没什么好的方法可供参考。
1
jedihy 2018-05-31 00:58:10 +08:00 via iPhone
PQ 没有修改操作的,这个是数据结构的问题
|
2
caviar 2018-05-31 08:10:15 +08:00
heap 没有修改操作,需要在 PQ 里修改的话可以考虑用 Fibonacci heap 实现的 PQ
|
3
lbfeng OP |