1. 程式人生 > >隊列 先進先出,先進後出,優先級隊列

隊列 先進先出,先進後出,優先級隊列

sci 正數 元素 指定 元組 print bsp 意思 兩個

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

隊列 先進先出,先進後出,優先級隊列