關於雙向佇列的用法

2021-08-24 20:52:18 字數 1330 閱讀 9738

1.deque是跟佇列一樣的儲存順序,但是它有一下幾個特點:

1.可以用或者at()來訪問佇列中的任意乙個值

2.比vecor更加消耗空間

3.可以用push和pop對佇列兩端進行修改

4.可以在內部進行插入或者刪除操作,但是效能不及list

2.建立乙個雙向佇列

1.deque();//建立乙個新的雙向佇列

2.deque(size_type num,const type_val)//建立乙個插入num個val的佇列

3.deque(size_type num);//建立乙個大小為num的佇列

4.deque(intput_iterater start,input_iterater end);//建立乙個從start到end的佇列

3.assign()

1.void assign(input_iterater start,input_iterater end)//把start到end的值賦值到佇列中

2.void assign(size_num,const_val);//給佇列複製num個val

4.at()

at(size_type pos);返回乙個指標指向pos的值

5.back();//返回尾部的值

6.front();返回頭部的值

7.begin();//返回頭部的迭代器

8.end();//返回尾部迭代器

9.clear();清空deque

10.erase();從佇列中抹去乙個指定的值

1.erase(iterator pos);//刪去指定的pos位置的值

2.erase(iterator start,iterator end);//刪掉start到end中的值

11.empty();//檢視佇列是否為空

12.insert();插入乙個值

1.insert(iterator pos,size_type num,const type_val);//在佇列pos後插入num個val

2.insert(iterator pos,const type_val);//在pos位置中插入乙個數字val

13.max_size()  返回雙向佇列能容納的最大元素個數

14.pop_back() 刪除尾部的元素

15.pop_front() 刪除頭部的元素

16.push_back() 在尾部加入乙個元素

17.push_front()  在頭部加入乙個元素 

18.size();//返回佇列中元素的個數

19.swap();//和另乙個佇列交換元素

void swap(deque&target);//與target佇列交換元素

deque雙向佇列

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

deque雙向佇列

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

SDUTACM 雙向佇列

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