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

  • 相关阅读:
    sql 变量赋值
    mysql 行号 获取指定行数据
    SQL Server获取指定行的数据
    sql server 创建内联表值函数
    sql server 表变量存储临时查询数据
    sql server 循环操作
    oracle for in 学习
    oracle C# 访问
    sql server insert values 多值 与oracle 的不同
    mysql 如何选择随机行
  • 原文地址:https://www.cnblogs.com/maycpou/p/14299843.html
Copyright © 2011-2022 走看看