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();

  • 相关阅读:
    存储过程参数不能使用函数
    .gitignore git已跟踪文件不生效
    Css选择器-层次选择器(关系选择器)
    Mysql自定义变量的作用
    jQuery 鼠标滑过Div变色
    DataTable导出excel 设置单元格格式
    layui table 详细讲解
    npm 常用命令详解
    SQL Server 2008下轻松调试T-SQL语句和存储过程
    帆软报表常用功能
  • 原文地址:https://www.cnblogs.com/maycpou/p/14299843.html
Copyright © 2011-2022 走看看