首页 > 代码库 > 8、泛型程序设计与c++标准模板库2.3双端队列容器
8、泛型程序设计与c++标准模板库2.3双端队列容器
双端队列容器是一种放松了访问权限的队列。除了从队列的首部和尾部访问元素外,标准的双端队列也支持通过使用下标操作符"[]"进行直接访问。
它提供了直接访问和顺序访问方法。其头文件为<deque>。
1)双端队列容器的构造函数
有4中形式的构造函数:
deque();//构造size()为0的双端队列容器
deque(size_type n,const T& v=T());//初始化大小为n的双端队列,第二个参数是每个元素的初始值,默认为T()构造的对象
deque(const deque& x);//拷贝构造函数,用双端队列x来初始化此双端队列容器
deque(const_iterator first,const_iterator last);//从另一个支持const_iterator的容器中选取一部分来建立一个新的双端队列容器。
2)使用双端队列容器
a、访问双端队列容器信息
对于双端队列容器,
size()返回双端队列容器中元素的个数;
max_size()返回双端队列容器中最多可以容纳元素的个数;
empty()当双端队列中没有元素时,则返回true
b、向双端队列容器中放置元素
有以下方法可以把元素放入双端队列容器中:构造函数、push_back()方法、insert()方法、[]运算符、=运算符、swap函数。还有push_front函数,其原型为:
void push_front(const T& x);//将元素x添加在双端队列容器头部
c、删除双端队列容器中的元素
使用pop_back()、pop_front()、erase()、clear()可以从双端队列中删除元素,与向量容器相比,多了一个pop_front()函数,其原型:
void pop_front();//删除双端队列容器中的最前端元素
d、访问双端队列容器中的元素
双端队列容器即可以顺序访问也可以直接访问。双端队列容器中的元素可以联合使用pop_front()、pop_back()、front()、back()成员函数进行顺序访问,也可以使用迭代器来顺序遍历双端队列。由于支持随机访问迭代器,所以可以进行随机访问。
8、泛型程序设计与c++标准模板库2.3双端队列容器