單端佇列
用於同一程序中的佇列,可以叫做單程序佇列。
queue
遵循先進先出,先進去的必須先出來
1、先進先出:
impore queue
q = queue.queue() 例項化乙個物件
q.put(1) put() 放值
q.put('abc')
q.put([1,2,3])
q.get() get() 取值 誰先進去,就先取誰。
2、後進先出:
import queue
q = queue.lifoqueue()
q.put(1)
q.put(2)
print(q.get())
print(q.get())
3、優先順序佇列
import queue
q = queue.priorityqueue()
q.put((1,'aa')) 優先順序佇列放的是乙個元組,且第一位如果是數字,數字越小優先順序越高,優先往出取。(包括負數)
q.put((2,'bb'))
q.put(('a','ss')) 優先順序佇列中的元組如果第一位是字串,那麼就比較它的ascii碼的數值,ascii碼越小越好。
q.put('1','xx'))
注意:如果乙個佇列中既放了數字開頭的優先順序元祖,又放了字串開頭的優先順序元組,將無法比較。
雙端佇列
deque
clooection 實際上是乙個包,deque是他裡邊的乙個模組。所以匯入的時候是
雙端佇列 和 列表的 remove / insert 時,效率是有差別的。雙端佇列會很快。因為雙端佇列底層用的是鍊錶。
Python集合模組 collections
是乙個函式,它用來建立乙個自定義的tuple物件,並且規定了tuple元素的個數,並可以用屬性而不是索引來引用tuple的某個元素。namedtuple 名稱 屬性list from collections import namedtuple point namedtuple point x y p...
python內建模組collections介紹
目錄collections是python內建的乙個集合模組,提供了許多有用的集合類。python提供了很多非常好用的基本型別,比如不可變型別tuple,我們可以輕鬆地用它來表示乙個二元向量。v 2,3 我們發現,雖然 2,3 表示出了乙個向量的兩個座標,但是,如果沒有額外說明,又很難直接看出這個元組...
leetcode專題之佇列 設計迴圈雙端佇列
class mycirculardeque object def init self,k 長度為k時占用k 1的空間,多出來的空間用來區分isempty和isfull 首尾兩個指標相等的時候為empty,尾部 1等於首部的時候為full self.q 0 k 1 self.len k 1 self....