1. 程式人生 > >佇列 先進先出,先進後出,優先順序佇列

佇列 先進先出,先進後出,優先順序佇列

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)#會連同優先順序一起打印出來