队列 先进先出,先进后出,优先级队列

Posted 16795079a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了队列 先进先出,先进后出,优先级队列相关的知识,希望对你有一定的参考价值。

import queue

#先进先出

q = queue.Queue(3)#设置队列容量

q.put(1)

q.put(a)

print(‘查看当前队列的容量‘,q.qsize)

q.put(b)

print(‘查看当前容器是否满了‘,q.full())#满了返回TRUE 没满返回flase

 

print(q.get_nowait())#从容器中拿一个值.拿到了打印,如果没拿到容器是空的会报错,nowait 不等待的意思

q.put_nowait(1)#向容器中存一个值,如果容器满了无法存入会报错

 

二.先进后出队列,后进先出 类似于栈

q = queue.LifoQueue(3)#指定容量为3

q.put(1)

q.put(2)

q.put(3)

print(q.get())

print(q.get())

print(q.get())

打印结果是 3  2   1  先进后出

三.优先级队列:可以指定元素的优先级  -3 >-2 > 1  负数优先级高于正数,

假如两个元素优先级相同,如果元素是数字大小, 数字小的优先

如果是字符串则比较ASCII码,

,注意:必须以元组的形式去添加

q = queue.PriorityQueue(5)

q.put((1,2))

q.put((1,22))

print(q.get())

print(q.get())

打印结果  (1,2)     (1,22)#会连同优先级一起打印出来

 

以上是关于队列 先进先出,先进后出,优先级队列的主要内容,如果未能解决你的问题,请参考以下文章

queue

队列Queue栈LifoQueue优先级队列PriorityQueue

C/C++优先级队列

栈、队列中“先进先出”,“后进先出”的含义

queue模块的使用

python 队列