#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...