• STL


    1.vector

       vector是数组的一种类表示,它提供了自动内存管理功能,可以动态的改变vector对象的长度,并随着元素的添加和删除而增大和缩小,它提供了对元素的随机访问,在尾部添加和删除元素的时间是固定的。但是在头部或者中间插入和删除元素的复杂度是线性时间。(足以说明vector是数组。插入 时间线性。)

    2.deque

       表示双端队列,类似于vector,支持随机访问。主要区别在于,从deque对象的开始位置和插入和删除元素的时间是固定的,而不像vector那样时间是线性的。如果多数操作发生在序列的起始和结尾,则考虑使用deque。

    3.list

      list模板类表示双向链表。可以双向遍历,和上面的区别在于:任意位置进行插入和删除的时间都是固定的,list强调的快速插入和删除。

    4.queue

      queue适配器类,模板让底层类战士典型的队列接口,queue模板的限制比deque更多,它不允许随机访问队列元素,甚至不允许遍历元素。可以将元素添加到队尾、查看队首和队尾的值、检查元素数目和测试队列是否为空。

    5.stack

       与queue相似,也是适配器类,它给底层类提供典型的堆栈接口,限制比vector多很多,它不仅不允许随机访问堆栈元素,甚至不允许遍历堆栈。可以讲压入推到堆顶、从栈顶弹出元素,查看栈顶的值、检查元素数目和测试堆栈是否为空。

    5.联合容器(set、multiset、map、multimap)

      联合容器将值和关键字关联在一起吗,使用关键字来查找值。联合容器也允许插入值,不过不能指定元素的插入的位置。原因是联合容器通常包含用于确定数据放置位置的算法,以便能够快速检索信息。

      set

      其值的类型和关键字相同,关键字是唯一的。

      multiset

      其值的类型和关键字相同,关键字是不唯一的。

      map

      值得类型与关键字不同,关键字是唯一的。

      multimap

      值得类型与关键字不同,关键字是不唯一的。

  • 相关阅读:
    python简单学------------python基础、print,input,if判断等
    fread读取大文件以及返回值问题(转载)
    github的使用---git版本控制
    python中split函数的使用
    快递小哥逆袭自传:用了6年时间做到了IT部门主管
    Linux系统默默改变了人类世界的生活方式
    浅谈Linux系统运维工程师必备技能
    Linux运维工程师真实的工作状态到底是怎么样的?
    想要学习Linux技术,先好好的读一本Linux书籍吧
    女生可不可以进入IT行业做Linux运维工程师?
  • 原文地址:https://www.cnblogs.com/menghuizuotian/p/3755963.html
Copyright © 2020-2023  润新知