deque容器功能:
- 双端数组,可以对头端进行插入删除操作。
deque与vector区别:
- vector对于头部的插入删除效率低,数据量越大,效率越低。vector需要重新移动所有数据。
- deque相对而言,对头部的插入删除速度会比vector快。deque容器头端也有开口。
- vector访问元素时的速度会比deque快,这和两者内部实现有关。vector内部是一段连续的线性空间。而deque就不一样了。

deque内部工作原理:
deque两端是开放的,两端front和back各自提供两个push和pop接口。
跟vector一样,第一个元素也是front(),最后一个元素也是back()。

deque内部有个中控器,维护每段缓冲区中的内容,缓冲区中存放真实数据。
中控器维护的是每个缓冲区的地址,使得使用deque时像一片连续的内存空间。

本文详细介绍了C++标准库中的deque容器,它是一种双端数组,支持快速的头尾插入和删除操作。deque与vector的主要区别在于其在头部操作的效率更高,但访问速度相对较慢。deque的内部工作原理涉及多个缓冲区和中控器,以实现类似连续内存空间的效果。此外,文章还涵盖了deque的构造函数、赋值操作、大小操作、插入删除操作以及数据存取方法。并举例展示了如何使用deque进行元素的插入、删除和排序。最后,文章强调了deque在某些操作上的优势和适用场景。
最低0.47元/天 解锁文章
1418

被折叠的 条评论
为什么被折叠?



