网上总结deque原理和用法的文章有很多,我也是在学习中逐渐摸索总结,希望能够和大家共同进步。
DEQUE简介
deque是doble-ended queue的缩写,是STL标准模板库中的重要容器之一,可以通过设置来存放各种不同类型的数据。和vector容器不同的是,vector容器可以调用函数从容器末端插入或删除元素,而deque容器可以通过调用函数在容器的两端插入或删除元素。
DEQUE实现
在工程中创建一个deque对象,在deque上右键转到定义,可以找到deque对应的实现代码。
template<class _Ty,
class _Alloc = allocator<_Ty> >
class deque
: public _Deque_alloc<_Deque_base_types<_Ty, _Alloc> >
{ // circular queue of pointers to blocks
public:
typedef deque<_Ty, _Alloc> _Myt;
...
}
由于代码非常多,所以在这里只贴一小部分,能够看出,deque实际上是一个模板类,它通过类模板的形式来达到存储不同种数据的实现。也可以将其看做是存放某种数据类型的双端动态数组。
DEQUE使用方法
1.建立容器(构造对象)
//---无初值---
deque<int> d1; //表示存放int型的容器
deque<double> d1; //表示存放double型