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


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)#会连同优先级一起打印出来

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM