deque双端队列
作者:
Lss_lmj
,
2021-11-26 03:17:32
,
所有人可见
,
阅读 432
std::deque<int> dq; //创建一个empty的int型队列
std::deque<int> dq(8); //创建一个有8个元素的int型队列,默认初始化值(value)为0
std::deque<int> dq(8, 50); //创建一个有8个元素的int型队列,默认初始化值(value)都设为50
std::deque<int> dq(dq.begin(), dq.end()); //通过迭代器创建队列
std::deque<int> dq1(dq); //通过拷贝构造创建队列
push_back(); //在队列末尾增加一个元素, 参数为拷贝或移动的元素
push_front(); //在队列头部增加一个元素,参数可以是拷贝或移动的元素
emplace(); //在队列指定的元素位置前插入新的元素
emplace_back(); //在队列尾部增加新的元素
emplace_front();// 在队列头部增加新的元素
insert(); //在队列莫一元素前增加新的元素
pop_front() //从队列头部移除第一个元素
pop_back() //从队列尾部移除最末尾的元素
erase(); //从队列指定的元素位置删除元素,可以指定一个范围删除。
clear(); //清空队列所有元素,size将为0
at() // 在队列中返回指定索引元素的引用
front() // 在队列中返回头部第一个元素的引用
back() //在队列中返回尾部最后一个元素的引用
size() //返回队列中元素的个数
max_size() //返回队列最大容量
resize() // 重新扩展容器大小, 如果重新扩展的容量小于现在的容量,多出的将会丢失,如果大于现在的容量,将会在现在容量的基础进行扩充并以0填充默认值
#include <iostream>
#include <deque>
int main() {
std::deque<int> dq;
dq.emplace_back(10); // 10
dq.emplace_back(20); // 10, 20
std::cout << dq.size() << std::endl; // 2
dq.front() = 100; // 引用重新赋值 10->100
dq.back() = 200; //引用重新赋值 20-> 200
for(int i=0; i< dq.size(); i++)
std::cout << dq.at(i) << " "; // 100, 200
std::cout << '\n';
// 扩展容量大小到5, 当前容量为2,将再增加3个元素并以0填充初始值
dq.resize(5); // 100, 200, 0, 0, 0
}