雙端佇列(deque)

2021-06-27 01:15:28 字數 1213 閱讀 1956

區別於資料結構的雙端佇列,這裡的是stl的!!

雙端佇列(deque容器類):#include與vector 類似,支援隨機訪問和快速插入刪除,它在容器中某一位置上的操作所花費的是線性時間。與 vector不同的是,deque還支援從開始端插入資料:push_front()。此外deque 不支援與vector 的capacity()、reserve() 類似的操作。

deque,是「double-ended queue」的縮寫。

可以隨機訪問元素(用索引直接訪問)。

陣列頭部和尾部新增或移除元素都非常快速,但是在中部安插元素比較費時。

優勢:查詢      劣勢:新增、刪除(僅頭部尾部快)

deque容器詳解

標頭檔案 #include

定義變數 dequemydeq;

主要成員函式

mydeq.clear()                             移除容器中所有資料。

mydeq.push_front(elem)         在佇列首部加入乙個資料

mydeq.pop_front()                     刪除佇列尾部資料

mydeq.push_back(elem)         在佇列尾部加入乙個資料

mydeq.pop_back()                     刪除佇列尾部資料

mydeq.empty()                            判斷佇列是否為空,為空返回true

mydeq.size()                                返回容器中實際資料的個數。

mydeq.erase(pos)                     刪除pos位置的資料,返回下乙個資料的位置。

mydeq.insert(pos,cnt,elem)    在pos位置插入cnt個資料elem。

mydeq.begin()                            返回的指標指向陣列中的第乙個資料。

mydeq.end()                                實際上是取末尾加一,以便讓迴圈正確執行--它返回的指標指向最靠近陣列界限的資料。

operator                                     返回容器中指定位置的乙個引用

雙端佇列deque

雙端佇列deque容器是一種優化了的 在序列兩端對元素進行新增和刪除操作的基本序列容器。它也允許適度快速地進行隨機訪問 就像vector一樣,它也有乙個operator操作符,然而,它沒有vector的那種把所有的東西都儲存在一塊連續的記憶體塊中的約束。deque的典型實現是利用多個連續的儲存塊 同...

deque雙端佇列

deque 1 生成構造 constructing deques include include int main std deque fifth myints,myints sizeof myints sizeof int fifth std deque first 3 deque with 3 ...

Deque雙端佇列

雙向佇列 支援插入刪除元素的線性集合 插入 刪除 獲取操作支援兩種形式 快速失敗和返回null或true false 既具有fifo特點又具有lifo特點,即是佇列又是棧 不推薦插入null元素,null作為特定返回值表示隊列為空 未定義基於元素相等的equals和hashcode deque繼承關...