功能:
双端数组,可以对头端进行插入删除操作 与vector的区别: (1)vector对于头部的插入删除效率低,数据量越大,效率越低 (2)deque相对而言,对头部的插入删除速度比vector快 (3)vector访问元素时的速度会比deque快(vector内部是一段连续的存储空间),这和两者内部实现有关
工作原理
中控器:维护每段缓冲区的地址,使得使用deque时像一片连续的内存空间 缓冲区:有多个,存放真实的数据 deque容器的迭代器也是支持随机访问的,可跳跃式访问元素
各种操作和接口
构造函数
dequed1; ------- 默认构造函数,容器无元素 dequed2(d1.begin(),d2.end());-------用区间方式赋值 dequed3(10,100) ; ---------10个100的容器 dequed4(d3); -----------------拷贝构造函数
赋值操作
deque operator=(const deque &deq) //重载等号=运算符 d2.assign(d1.begin(),d1.end()) ------ 拷贝构造某个区间的值给d2 d2.assign(n,elem) -------将n个elem拷贝赋值给d2
其他操作函数建议参考c++API手册就行 输出:迭代器或者[]或者at函数输出 排序:sort(d1.begin(),d2.end())
|