deque & vector

来源:互联网 发布:淘宝售卖盗版怎么举报 编辑:程序博客网 时间:2024/06/02 06:01

deque(双端队列)

deque同样是一种顺序容器,里面的元素的一样按照严格的线性序列排序

这种容器与其他容器相比,能够更有效的在两端执行插入和删除,deque在第一个元素能够执行插入,这是个优势,deque的缺点在与它的内存空间不是连续的,是有多块内存使用链表结构链接在一起,不过这样的好处是更有效的使用内存,能够自动释放内存,而vector不会释放内存,直到程序结束才释放.这样deque与vector的各具有的优势就显示出来了,vector使用的是数组,deque使用的是链表,如果只在尾部插入数据,vector的效率会高一些,但在其他地方插入,deque效率会高一些,而且当vector中的元素大于容量时要使用realloc()重新分配内存,这会导致vector中元素的引用,指针和迭代器失效,而且重新分配内存会花很多时间,而deque增大或变小不会导致引用,指针和迭代器失效,因为它只改变链表结构.

0 0
原创粉丝点击