天天看點

【溫故而知新】C和C++7:STL中的deque容器

deque是一種雙端隊列容器,與vector一樣,也可以看做是一種動态數組形式。與vector不同的是,deque可以高效率地在頭部和尾部插入/移除元素,而在中間進行同樣操作則效率較低。

1、建立deque對象:

根據deque的構造函數,可以采用不同的方法定義deque對象,以int類型的deque舉例:

這幾種方法分别定義了一個空的deque對象,一個初始size為10的deque對象,一個初始size為10且每個元素的值為5的deque對象,根據另一個對象anotherDeq而建構的對象,一個根據兩個疊代器firstItr和lastItr建構的有範圍的deque對象。

2、向deque中插入和從deque中擷取元素:

STL定義了方法可以高效地在deque的頭部和尾部擷取元素。push_front()和push_back()分别用于在deque頭端和尾端插入資料,pop_front()和pop_back()用于在頭端和尾端擷取資料。使用方法例如:

3、deque的大小和容積

度量deque的大小和容積提供了一下方法:

deque::size();——傳回deque執行個體的大小,即容器中元素的個數;

deque::resize (size_type n, value_type val = value_type());——重新設定容器的大小,新添加的元素的值初始化為val;

繼續閱讀