STL之雙向佇列 dequeue

2022-02-27 01:30:24 字數 1352 閱讀 1565

//雙向佇列 deque

#include

#include

#include

using namespace std;

int main()

以上**是乙個演示qwq;

deque雙向佇列是一種雙向開口的連續線性空間,可以高效的在頭尾兩端插入和刪除元素,deque在介面上和vector非常相似,下面就總結一下deque的常用成員函式:

(本人技術水平比較差,列不全請見諒qwq)

這是基礎操作:

deque c(20); //

建立乙個int型別的有20位的雙向佇列

c.front()

//返回該雙向佇列的第乙個資料

c.back()

//返回該雙向佇列的最後乙個資料

c.empty()

//判斷該迴圈佇列是否為空

c.maxsize()

//返回迴圈佇列中最大資料的數量

c.size()

//返回迴圈佇列實際元素的個數

c.begin()

//這是指向該雙向佇列第乙個資料的迭代器

c.end()

//這是指向該雙向佇列最後乙個資料的迭代器

c.rbegin()

//指向逆向佇列的第乙個資料

c1.swap(c2)

//將c1與c2的元素互換

swap(c1,c2) //

同上c.rend()

//指向逆向佇列最後乙個位置的下乙個位置的迭代器

這是新增操作:

c.push_front()   //

在頭部插入乙個資料

c.push_back()

//在尾部插入乙個資料

c.insert(pos,x)

//在pos位置插入乙個x的拷貝,並返回新資料的位置

c.insert(pos,begin,end)

//在pos位置插入在[begin,end)之間的資料,無返回值

c.pop_back()

//刪除最後乙個資料

c.pop_front()

//刪除第乙個資料

c.erase(pos)

//刪除pos位置的資料,並返回下乙個位置的迭代器

x.erase(begin,end)

//刪除[begin,end)區間的資料,返回下乙個資料的位置

但是不知道是什麼玄學原因,deque的隨機訪問和遍歷資料相比而言會比vector慢一些;

但是我不會吶qwq,因為我弱qwq。

好噠,寫完撒花(qwq)

STL 1 之雙向佇列 dequeue

deque雙向佇列是一種雙向開口的連續線性空間,可以高效的在頭尾兩端插入和刪除元素,deque在介面上和vector非常相似,下面列出deque的常用成員函式 deque的實現比較複雜,內部會維護乙個map 注意!不是stl中的map容器 即一小塊連續的空間,該空間中每個元素都是指標,指向另一段 較...

C 中STL容器之雙端佇列 dequeue

1.雙端佇列介紹 雙端佇列 dequeue 與vector很類似,採用線性表順序儲存結構,且支援隨機訪問,即可以直接用下標來訪問元素。但與vector有區別 一般來說,當考慮到容器元素的記憶體分配策略和操作的效能時deque相當於vector更有優勢。它是vector和list的結合,複雜度處於二者...

STL之deque(雙向佇列)

deque雙向佇列是一種雙向開口的連續線性空間,可以高效的在頭尾兩端插入和刪除元素,deque在介面上和vector非常相似,下面列出deque的常用成員函式 deque在vector函式的基礎上增加了一些函式,體現了雙向佇列的雙向性 push front 在佇列前插入乙個元素 push back ...