STL 雙向佇列

2021-07-29 21:44:45 字數 961 閱讀 9124

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()

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

d[0]=1

10 1 2 3

30 20 10 1 2 3

#include#includeusing namespace std;

int main()

*刪除元素 

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

#include

#include

using

namespace

std;

int main()

STL 雙向佇列

time limit 1000ms memory limit 65536k 想想雙向鍊錶 雙向佇列的定義差不多,也就是說乙個佇列的隊尾同時也是隊首 兩頭都可以做出隊,入隊的操作。現在給你一系列的操作,請輸出最後佇列的狀態 命令格式 lin x x表示乙個整數,命令代表左邊進隊操作 rin x 表示右...

STL佇列和棧 雙向佇列

stl 中佇列的使用 queue 基本操作 push x 將x壓入佇列的末端 pop 彈出佇列的第乙個元素 隊頂元素 注意此函式並不返回任何值 front 返回第乙個元素 隊頂元素 back 返回最後被壓入的元素 隊尾元素 empty 當隊列為空時,返回true size 返回佇列的長度 使用方法 ...

STL之雙向佇列 dequeue

雙向佇列 deque include include include using namespace std int main 以上 是乙個演示qwq deque雙向佇列是一種雙向開口的連續線性空間,可以高效的在頭尾兩端插入和刪除元素,deque在介面上和vector非常相似,下面就總結一下dequ...