参考别人的哈,特此声明。
#include <deque>
/*
deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似
deque的实现比较复杂,内部会维护一个map(注意!不是STL中的map容器)即一小块连续的空间,该空间中每个元素都是指针,
指向另一段(较大的)区域,这个区域称为缓冲区,缓冲区用来保存deque中的数据。
因此deque在随机访问和遍历数据会比vector慢。具体的deque实现可以参考《STL源码剖析》,
当然此书中使用的SGI STL与VS2008所使用的PJ STL的实现方法还是有区别的。
Deque成员函数
函数 描述
c.assign(beg,end)将[beg; end)区间中的数据赋值给c。
c.assign(n,elem) 将n个elem的拷贝赋值给c。
c.at(idx) 传回索引idx所指的数据,如果idx越界,抛出out_of_range。
c.back() 传回最后一个数据,不检查这个数据是否存在。
c.begin() 传回迭代器重的可一个数据。
c.clear() 移除容器中所有数据。
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) 创
C++STL之deque的使用
最新推荐文章于 2024-03-28 07:14:25 发布