双端队列deque

来源:互联网 发布:python怎么打开idle 编辑:程序博客网 时间:2024/05/18 02:55

    双端队列deque容器是一种优化了的、在序列两端对元素进行添加和删除操作的基本序列容器。它也允许适度快速地进行随机访问—就像vector一样,它也有一个operator[]操作符,然而,它没有vector的那种把所有的东西都保存在一块连续的内存块中的约束。


    deque的典型实现是利用多个连续的存储块(同时在一个映射结构中保持对这些块及其顺序的跟踪)。因此,向deque的两端添加和删除元素所带来的开销很小。另外,它从不需要在分配新的存储区时复制并销毁所包含的对象(就像vector所做的那样),所以在向序列两端添加未知数量的对象时,deque远比vector更有效率。


    deque可以高效率地向序列开始端添加元素,因为如果它用完了存储区,它只需为序列的开始端分配一个新的存储块。但是用于保存数据块索引信息的存储块却有可能需要重新分配。在向deque的两端田间元素以后,现存的迭代器都不会失效。

0 0