zoukankan      html  css  js  c++  java
  • 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

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

  • 相关阅读:
    DTN相关研究机构介绍之Comnet@tkk
    Contact
    MyEclips注册码生成
    对list排序,按名字排,如果名字一样就按年龄排
    在JSP页面中获取当前日期时间
    javascript全局变量怎么定义?
    理解了java一次编译多处运行的意思了
    HTML <td> 标签的 nowrap 属性
    <! >
    java.io.File中的绝对路径和相对路径.
  • 原文地址:https://www.cnblogs.com/menghuizuotian/p/3755963.html
Copyright © 2011-2022 走看看