头文件:#include<deque> (动态一维数组)
定义:deque<变量类型> 变量名; 例:deque<变量类型> dq;
特点:支持随机访问(数组访问下表从0开始;at方法访问,会抛出异常),性能不如vector;
可以在内部进行插入和删除操作,性能不如list;//性能介于vector和list之间
deque两端具有快速插入和删除的能力;
常用方法(加粗):
两个(正向)迭代器:begin()和end();
两个(反向)迭代器:rbegin()和rend();//以上两组用于遍历整个双向队列;
清空:clear();//清除整个队列的元素;
插入:push_front();//从头部插入一个元素;
push_back();//从尾部插入一个元素;
insert(); //在某个位置插入一个元素;(参数迭代器,元素)
删除:pop_front(); // 头部弹出一个元素;
pop_back(); //尾部弹出一个元素;
erase(); //删除任意位置的一个元素;(参数迭代器)
注erase函数在deque和vector中尽量少使用,时间复杂度较高(效率低)
取值:front(); //返回头部第一个元素;
back(); //返回尾部第一个元素;
at(); //返回对应index位置的元素,会抛出异常;
[] 数组访问方式;//以数组下标的形式访问不会抛出异常;
判断是否为空:empty();//判断deque是否为空;
大小:size(); //返回deque的大小;
交换:swap(); //交换两个deque;