佇列 先進先出,先進後出,優先順序佇列
阿新 • • 發佈:2019-01-14
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)#會連同優先順序一起打印出來