Deque 容器 deque容器是C++标准模版库(STL,Standard Template Library)中的部分内容。 deque容器类与vector类似,支持随机访问和快速插入删除,它在容器中某一位置上的操作所花费的是线性时间。 与vector不同的是,deque还支持从开始端插入数据:push_front()。 使用deque容器之前必须加上<deque>头文件:#include<deuqe>; deque属于std命名域的内容,因此需要通过命名限定:using std::deque; 也可以直接使用全局的命名空间方式:using namespace std;
构造函数
deque<Elem> c 创建一个空的deque deque<Elem> c1(c2) 复制一个deque。 deque<Elem> c(n) 创建一个deque,含有n个数据,数据均已缺省构造产生。 deque<Elem> c(n, elem) 创建一个含有n个elem拷贝的deque。 deque<Elem> c(beg,end) 创建一个以[beg;end)区间的deque。 ~deque<Elem>() 销毁所有数据,释放内存。
成员函数
c.begin()返回指向第一个元素的迭代器 c.end()返回指向最后一个元素下一个位置的迭代器 c.rbegin()返回指向反向队列的第一个元素的迭代器(即原队列的最后一个元素) c.rend()返回指向反向队列的最后一个元素的下一个位置(即原队列的第一个元素的前一个位置) c.assign(n,num)将n个num拷贝复制到容器c c.assign(beg,end)将[beg,end)区间的数据拷贝复制到容器c c.at(pos)返回索引为pos的位置的元素,会执行边界检查,如果越界抛出out_of_range异常 c.operator[]下标运算符重载 c.empty()判断c容器是否为空 c.front()返回c容器的第一个元素 c.back()返回c容器的最后一个元素 c.size()返回c容器中实际拥有的元素个数 c.max_size()返回c容器可能存放元素的最大数量 c.clear()清除c容器中拥有的所有元素 c.insert(pos,num)在pos位置插入元素num c.insert(pos,n,num)在pos位置插入n个元素num c.insert(pos,beg,end)在pos位置插入区间为[beg,end)的元素 c.erase(pos)删除pos位置的元素c.erase(beg,end)删除区间为[beg,end)的元素 c.erase(beg,end)删除区间为[beg,end)之间的元素 c.push_back(num)在末尾位置插入元素 c.pop_back()删除末尾位置的元素 c.push_front(num)在开头位置插入元素 c.pop_front()删除开头位置的元素 c.resize(num)从新定义容器的大小 c1.swap(c2)交换容器c1,c2; swap(c1,c2)同上。
重载运算符
operator=赋值运算符重载 operator== operator!= operator< operator<= operator> operator>=