STL(七)deque雙端佇列容器

2021-08-07 14:58:52 字數 1266 閱讀 5179

deque雙端佇列容器與vector非常相似,不僅可在尾部插入和刪除,還可在頭部插入和刪除,時間複雜度是o(1),是乙個實現了random access container, back insertion sequence 和 front insertion sequence概念的模型。deque內部的資料機制與執行效能與vector不同,一般說來,當考慮到容器元素的記憶體分配策略和操作的效能時,deque相對vector較為有優勢。

一、deque技術原理

deque的元素資料採用分塊的線性結構進行儲存,塊的大小一般為512個位元組

所有的deque塊使用乙個map塊進行管理,每個map資料項記錄各個deque塊的首位址

二、deque應用基礎

#include

1、建立deque物件

2、初始化賦值

3、元素的遍歷訪問

4、元素的插入

5、元素的刪除

6、元素的反向遍歷

7、deque的交換

8、其他的常用函式

#pragma waring(disable:4786)

#include #include #include d;

cout << "d是否為空" << d.empty() << endl;

d.push_back("hong lou meng");

d.push_back("yuan");

d.push_back("jiao");

d.push_back("shui");

d.push_back("24");

//deque::iterator i, iend;

iend = d.end();

for (i=d.begin(); i != iend; i++)

cout << *i << " ";

cout << endl;

//cout << "deque first: " << d.front() << endl;

cout << "deque end: " << d.back() << endl;

cout << "deque counts: " << d.size() << endl;

cout << "deque most counts: " << d.max_size() << endl;

return 0;

}

STL雙端佇列 deque

include include include include includeusing namespace std deque採用一塊map 不是stl中的map,是一塊連續空間 作為主控,每個元素都是乙個節點 cur fist last node 指向另一段連續較大的空間 成為緩衝區 預設512...

STL順利容器之雙端佇列 deque

雙端佇列是由動態陣列實現。標頭檔案 include 構造方法 dequedeq 建立乙個沒有任何元素的雙端佇列 dequedeq otherdeq 用另乙個型別相同雙端佇列初始化該雙端佇列 dequedeq size 初始化乙個固定size的雙端佇列 dequedeq n,element 初始化n個...

Deque雙端佇列容器

1 deque雙端佇列容器建立deque物件 可建立無任何元素的或者具有n個元素的或者具有n個元素的並賦初值的 include include include include include include include include include include include includ...