zoukankan      html  css  js  c++  java
  • STL::deque

    deque: 也被叫做 “deck” ,是一个双端队列(double-ended-queue)。大小能动态变化。

    Iterators

    begin:

    end;

    rbegin:

    rend:

    cbegin(c++11):

    cend(c++11):

    crbegin(c++11):

    crend(c++11):

    Capacity

    size:

    max_size:

    resize:

    empty:

    shrink_to_fit(c++11): 注意不改变该容器的 size。

    Element access

    operator[ ]:

    at:

    front:

    back:

    Modifiers

    assign: 分配 deque 新的内容,代替当前的内容,并且修改它的大小(size)。

    push_back:

    pop_back:

    push_front:

    pop_front:

    insert:

    erase:

    swap:

    clear:

    emplace(c++11):

    emplace_front(c++11):

    emplace_back(c++11):

     ==================STL源码剖析部分补充=================

    1,deque 的表现像是个连续空间其实是个假象,其实是由一段一段一段的定量连续空间构成,deque 的最大任务,就是维护其整体连续的假象,这样在增加元素的过程中就不会有类似 vector 容器的三部曲(1,另觅更大的空间;2,将原数据复制过去;3,释放原空间)。代价则是复杂的迭代器架构。

    2,SGI STL 允许我们指定缓冲区(每段连续空间,真正的存储空间主体)的大小,默认值是 0 表示将使用 512 bytes 缓冲区。

         

                         图1:push_front() 操作   

     

                          图2:push_back() 操作

    所有博文均为原著,如若转载,请注明出处!
  • 相关阅读:
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    团 队 作 业 ———— 随 堂 小 测
    Alpha 冲刺 (5/10)
    Alpha 冲刺 (4/10)
    Beta冲刺博客汇总(麻瓜制造者)
    Beta冲刺(3/5)(麻瓜制造者)
    快速搭建一个Express工程骨架
    个人作业——软件产品案例分析
  • 原文地址:https://www.cnblogs.com/zpcoding/p/10334306.html
Copyright © 2011-2022 走看看