C STL之雙端佇列容器

2021-07-05 23:02:22 字數 1067 閱讀 1775

deque雙端佇列容器與vector很類似,採用線性表順序儲存結構。但與vector區別,deque採用分塊的線性儲存結構來儲存資料,每塊的大小一般為512b,將之稱為deque塊,所有的deque塊使用乙個map塊進行管理,每個map資料項記錄各個deque塊的首位址,這樣的話,deque塊在頭部和尾部都可以插入和刪除。而不需要移動任何元素,而不需要移動其他元素(使用push_back()方法在尾部插入元素,會擴張佇列,而使用push_front()方法在首部插入元素和使用insert()方法在中間插入元素,只是將原位置上的元素進行覆蓋,不會增加新元素)一般來說,當考慮到容器元素的記憶體分配策略和操作的效能時deque相當於vector更有優勢。

*建立deque物件

與vector類似

*插入元素

使用push_back()方法從尾部插入元素,會不斷擴張佇列。

#include

#include

using

namespace

std;

int main()

從頭部插入元素,不會增加新元素,只將原來有的元素覆蓋。

#include

#include

using

namespace

std;

int main()

*遍歷

#include

#include

using

namespace

std;

int main()

*刪除元素

可以從雙端佇列的手部,尾部,中部刪除元素,並可以清空雙端佇列容器

#include

#include

using

namespace

std;

int main()

C STL之雙端佇列容器

deque雙端佇列容器與vector很類似,採用線性表順序儲存結構。但與vector區別,deque採用分塊的線性儲存結構來儲存資料,每塊的大小一般為512b,將之稱為deque塊,所有的deque塊使用乙個map塊進行管理,每個map資料項記錄各個deque塊的首位址,這樣的話,deque塊在頭部...

c STL之雙端佇列容器

deque雙端佇列容器與vector很類似,採用線性表順序儲存結構。但與vector區別,deque採用分塊的線性儲存結構來儲存資料,每塊的大小一般為512b,將之稱為deque塊,所有的deque塊使用乙個map塊進行管理,每個map資料項記錄各個deque塊的首位址,這樣的話,deque塊在頭部...

C STl之雙端佇列

deque與vector非常相似,不僅可以在尾部插入和刪除元素,還可以在頭部插入和刪除。不過當考慮到容器元素的記憶體分配策略和操作效能時,deque相對vector較為有優勢。標頭檔案 include 1 deque 建立乙個沒有任何元素的deque物件。deque d 2 deque size t...