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


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