C++ deque,STL deque(雙向佇列詳解)

2020-07-16 10:04:26
deque 也是順序容器的一種,同時也是一個可變長陣列。要使用 deque,需要包含標頭檔案 deque。所有適用於 vector 的操作都適用於 deque。

deque 和 vector 有很多類似的地方。在 deque 中,隨機存取任何元素都能在常數時間內完成(但慢於vector)。它相比於 vector 的優點是,vector 在頭部刪除或新增元素的速度很慢,在尾部新增元素的效能較好,而 deque 在頭尾增刪元素都具有較好的效能(大多數情況下都能在常數時間內完成)。它有兩種 vector 沒有的成員函數:

void push_front (const T & val);  //將 val 插入容器的頭部
void pop_front();  //刪除容器頭部的元素


思考題:猜想一下,deque 是如何實現它相比 vector 的優勢的?