deque是双端队列,可以进行头尾操作并访问该容器中的任意元素。
#include<deque>
1、deque 构造函数
deque<T> d 默认构造形式,T代表构造的元素类型
deque<T>d1(d.begin(),d.end()); 构造函数将(beg,end)区间的元素拷贝给本身
deque<T>d2(n,ele); 构造函数将n个T类型的ele元素拷贝给本身
deque<T>d3(d); 拷贝构造函数
2、插入和删除 注*:deque两端可操作
d.push_back(ele); 在容器尾部添加一个数据
d.push_front(ele); 在容器头部添加一个数据
d.pop_back(); 删除容器最后一个数据
d.pop_front(); 删除容器第一个数据
//指定位置操作
insert(pos,elem); 在pos位置插入一个elem元素的拷贝,返回新数据的位置
insert(pos,n,elem); 在pos位置插入n个elem元素的拷贝,无返回值
insert(pos,beg,end); 在pos位置插入[beg,end]区间的数据,无返回值
clear(); 清除容器中的所有数据
erase(beg,end); 删除区间[beg,end]区间的所有数据,返回下个数据的位置
erase(pos); 删除pos位置的元素,返回下个数据的位置
3、容器的赋值
operator= 重载等号赋值
assign(beg,end); 将[beg,end]区间的值赋给容器
assign(n,elem) 将n个elem元素赋值给容器
4、大小操作
deque<T>d;
d.empty(); 判断容器是否为空
d.size(); 返回容器中的个数
d.resize(num); 更新指定容器的长度为num,若容器变长,则以默认值(0)填充新位置,如果容器变短了,则末尾超出容器的长度的元素被删除。
d.resize(num,ele); 与上面操作相仿,就是如果容器变长,则以ele元素填充新的位置。
5、数据的存取与排序
d.at(index); 在index位置的数据操作
operator[]; 函数内部的[] 函数重载
d[1];
d.front(); 返回容器头部的值
d.end(); 返回容器尾部的值
sort(iterator beg,iterator end); 对beg到end区间的元素进行排序