deque 是 double-ended queue 的縮寫,又稱雙端隊列容器。
前面章節中,我們已經系統學習了 vector 容器,值得一提的是,deque 容器和 vecotr 容器有很多相似之處,比如:
deque 容器也擅長在序列尾部添加或刪除元素(時間復雜度為O(1)),而不擅長在序列中間添加或刪除元素。
deque 容器也可以根據需要修改自身的容量和大小。
和 vector 不同的是,deque 還擅長在序列頭部添加或刪除元素,所耗費的時間復雜度也為常數階O(1)。并且更重要的一點是,deque 容器中存儲元素并不能保證所有元素都存儲到連續的內存空間中。
當需要向序列兩端頻繁的添加或刪除元素時,應首選 deque 容器。
deque 容器以模板類 deque<T>(T 為存儲元素的類型)的形式在 <deque> 頭文件中,并位于 std 命名空間中。因此,在使用該容器之前,代碼中需要包含下面兩行代碼:
#include <deque>
using namespace std;
注意,std 命名空間也可以在使用 deque 容器時額外注明,兩種方式都可以。
創建deque容器的幾種方式
創建 deque 容器,根據不同的實際場景,可選擇使用如下幾種方式。
1) 創建一個沒