zoukankan      html  css  js  c++  java
  • stl(6)deque容器

    1.deque容器和vector容器最大的不同是deque容器的两端都是开口的,可以从容器的头部插入或删除,也可以从尾部插入或删除。而vector容器是一个后端开口的容器,一般只能从尾部插入和删除,当然vector也支持从头部插入和删除,但是那并不是直接在头部之前插入或者直接删除头部元素,比如头部插入的时候实际上是先将所有的元素都往后面移动一个位置,将头部位置空出来,在将需要插入的元素放到空出来的头部的位置完成的,所以这样的效率其实很慢。

    2.deque容器没有capacity容量的概念,它并不需要连续的存储空间。当它分配空间不足时就去再找一块新的空间,只需要管理好每段连续空间的首位地址即可。

    3.deque容器的构造和迭代器和vector的完全类似

    std::deque<int> deq;

    for(int i =0;i<4;i++){

    deq.push_back(i);

    }

    for (std::deque<int>::iterator it = deq.begin(); it != deq.end();it++) {

    std::cout<< *it<<std::endl;

    }

    4.deque的赋值操作和大小操作和vector的用法基本一致

    5.对deque中元素的操作相对于vector增加了下面这些方法

    (1)push_front向deque头部插入元素

    std::deque<int> deq;

    deq.push_front(1);

    (2)pop_front删除deque容器的第一个元素

    std::deque<int> deq;

    deq.push_back(1);

    deq.push_back(2);

    deq.pop_back();

  • 相关阅读:
    python 日期、时间戳转换
    判断任意数字是否为素数
    linux使用工具记录
    python日志记录-logging模块
    python特性、属性以及私有化
    python 装饰器、内部函数、闭包简单理解
    sql语句操作记录
    virtualBox使用nat模式下ssh连接
    git常用操作
    分布式CAP定理(转)
  • 原文地址:https://www.cnblogs.com/maycpou/p/14299843.html
Copyright © 2011-2022 走看看