zoukankan      html  css  js  c++  java
  • 7.4 C++标准模板库(STL)的概念

    参考:http://www.weixueyuan.net/view/6401.html

    总结:

       标准模板库为C++提供了完善的数据结构及算法。

      标准模板库包括三部分:容器、算法和迭代器。

        容器是对象的集合,STL的容器有:vector、stack、queue、deque、list、set和map等。

        STL算法是对容器进行处理,比如排序、合并等操作。

        迭代器则是访问容器的一种机制。  

      STL基本容器可以分为:

    • 序列式容器,主要有list、vector、deque
    • 关联式容器,主要有set、multiset、map、multimap

      序列式容器可以像数组一样通过下标进行访问。关联式容器则是需要通过键值进行访问,关联式容器可以将任何类型的数据作为键值。

    STL(Standard Template Library)标准模板库是标准C++库中的一部分,标准模板库为C++提供了完善的数据结构及算法。标准模板库包括三部分:容器、算法和迭代器。容器是对象的集合,STL的容器有:vector、stack、queue、deque、list、set和map等。STL算法是对容器进行处理,比如排序、合并等操作。迭代器则是访问容器的一种机制。


    在C++定义数组时,我们必须提前知晓数组的大小,然后为了避免因为新数据的加入而导致越界,因而需要不断地进行越界检测,这样一来效率就大大降低了。而使用STL有一个非常大的优点就是不需要提前知道数组的大小,当有新元素加入时,容器会自动增大,删除元素时,容器会自动减小。

    除此之外,STL还提供了大量的算法用于操作容器。STL具有可扩展性,也就是说可以增加新的容器和算法。

    STL基本容器可以分为:

    • 序列式容器,主要有list、vector、deque
    • 关联式容器,主要有set、multiset、map、multimap


    序列式容器可以像数组一样通过下标进行访问。关联式容器则是需要通过键值进行访问,关联式容器可以将任何类型的数据作为键值。

    容器类型描述
    vector 序列式容器 按照需要改变长度的数组
    list 序列式容器 双向链表
    deque 序列式容器 可以操作两端的数组
    set 关联式容器 集合
    multiset 关联式容器 允许重复的集合
    map 关联式容器 图表
    multimap 关联式容器 允许重复的图表

  • 相关阅读:
    LRU
    c++ 在临时变量上使用const引用
    剑指 Offer 13. 机器人的运动范围
    C++之对象包含与成员函数不兼容的类型限定符
    C#獲取指定格式日期
    在ORACLE產生001,002的流水號
    ASP.NET中DataList数字分页代码
    生成條碼標的Class
    sql 将横的记录显示为竖的记录 max(case when CASE ltrim(ps.SIZE) WHEN '4.5' THEN ps.PairPerCarton END is null then null else ps.PairPerCarton end ) AS [4.5]
    为什么margin-top值不是作用域父元素
  • 原文地址:https://www.cnblogs.com/yongpan/p/7966429.html
Copyright © 2011-2022 走看看