STL雙端佇列 deque

2021-07-10 15:07:32 字數 768 閱讀 1143

#include#include#include#include#includeusing namespace std;

/*deque採用一塊map(不是stl中的map,是一塊連續空間)作為主控,

每個元素都是乙個節點(cur fist last node)指向另一段連續較大的空間(成為緩衝區 預設512byte)

deque內維持乙個map和 來兩個迭代器 和元素個數指向表的第乙個和最後乙個位置

push_front時是在一塊緩衝區尾部填充,並且移動頭指標 所以它的迭代器

移動是十分麻煩的

*//*

雖然deque實現很繁瑣 但是stack queue 的底層容器都是deque

heap以及priority_queue底層容器為vector

*//*

常用成員函式

push_front

pop_front

push_back

pop_back

erase

rbegin rend

size

*/int main(void)

; dq.push_back(88);

//dq的迭代器 是 隨機訪問迭代器 但是建議排序時 先拷貝至 vector

sort(dq.begin(),dq.end());

dq.size();

dq.erase(dq.begin(),dq.end());

return 0;

}

STL之Deque雙端佇列

今天要寫乙個樹的層次遍歷程式,要用到佇列,於是就查了一下deque的資料,如下。deque 總覽 deque 和 vector 一樣都是標準模板庫中的內容,deque 是雙端佇列,在介面上和 vector 非常相似,在許多操作的地方可以直接替換。假如讀者已經能夠有效地使用 vector 容器,下面提...

STL(七)deque雙端佇列容器

deque雙端佇列容器與vector非常相似,不僅可在尾部插入和刪除,還可在頭部插入和刪除,時間複雜度是o 1 是乙個實現了random access container,back insertion sequence 和 front insertion sequence概念的模型。deque內部的...

雙端佇列(deque)

區別於資料結構的雙端佇列,這裡的是stl的!雙端佇列 deque容器類 include與vector 類似,支援隨機訪問和快速插入刪除,它在容器中某一位置上的操作所花費的是線性時間。與 vector不同的是,deque還支援從開始端插入資料 push front 此外deque 不支援與vector...