我刚刚学习了Python中的优先级队列,并编写了以下代码:
def main():
q=Queue.PriorityQueue()
while True:
n=input("numbre?")
if n==0:
break
else:
q.put(n)
print n
while not q.empty():
print q.get()
当我输入数据如:9,1,4,5
它打印的是1,4,5,9,这看起来是正确的,但是我想知道如何以相反的顺序进行deque,我的意思是:9,5,4,1
我知道如何使用类来实现这一点,但在本例中,似乎有以下额外的代码:
^{pr2}$不行,有什么帮助吗?在
常见的模式是插入数据(作为元组)以及优先级。所以,您可以简单地像这样更改
put
所以,当比较元组时,如果数字是9,1,4和5,它们将被这样比较(-9,9),(-1,1),(-4,4)和(-5,5)。因为,
-9
是所有最小的,它将首先被检索,然后是-5,然后是-4,然后是-1。在示例:
^{pr2}$输出
为了只得到实际值,只需打印第二个元素,如下所示
相关问题 更多 >
编程相关推荐