主页面目录
4 deque
4.1 介绍
首尾都可插入和删除的队列为双端队列。
//添加头文件
#include<deque>
//初始化定义
deque<int> dq;
4.2 方法函数
注意双端队列的常数比较大。
代码 | 含义 |
---|---|
push_back(x)/push_front(x) | 把x 插入队尾后 / 队首
O
(
1
)
O(1)
O(1) |
back()/front() | 返回队尾 / 队首元素 O ( 1 ) O(1) O(1) |
pop_back() / pop_front() | 删除队尾 / 队首元素 O ( 1 ) O(1) O(1) |
erase(iterator it) | 删除双端队列中的某一个元素 |
erase(iterator first,iterator last) | 删除双端队列中[first,last) 中的元素 |
empty() | 判断deque是否空 O ( 1 ) O(1) O(1) |
size() | 返回deque的元素数量 O ( 1 ) O(1) O(1) |
clear() | 清空deque |
4.3 注意点
deque可以进行排序
双端队列排序一般不用,感觉毫无用处,使用其他STL依然可以实现相同功能
//从小到大
sort(q.begin(), q.end())
//从大到小排序
sort(q.begin(), q.end(), greater<int>());//deque里面的类型需要是int型
sort(q.begin(), q.end(), greater());//高版本C++才可以用
如要获取所有内容的PDF文件,请在公众号【行码棋】回复【STL】获取,非常抱歉了。
Update:2023-12-11更新PDF文件