18.3.1 deque基本概念
deque被称为双端数组,因为deque相当于两端都开口的链表,可以对头部和尾部进行插入和删除。
deque容器的迭代器也支持随机访问。
deque与vector区别:
- vector对于头部的插入和删除效率低,且数据量越大,效率越低
- vector访问元素的速度比deque快,这与两者的内部实现有关
deque内部工作原理:
- deque内部有个中控区,维护每段缓冲区的内容,缓冲区中存放真实数据。
- 中控器维护的是每个缓冲区的地址,使得使用deque时像一段连续的内存空间。
- 当一段缓冲区用完时,在开辟一段新的缓冲区,每个缓冲区之间的地址并不连续。