zoukankan      html  css  js  c++  java
  • STL一些常用的容器和算法总结

    <queue>

     -queue             #### 单向队列.

     -<deque>           #### 双向队列.

     -priority_queue    #### 优先队列, 需要指定优先规则.

    <list>              #### 列表, 默认为双向列表, 一般用在频繁插入, 删除元素的场合.

    <stack>             #### 栈, 后进先出规则.

    <vector>            #### 向量, 或称数组, 线性排布, 一般用于替代C数组.

    <map>

     -map               #### 映射, 不支持重复值, 即一个 key 对应一个 value, 一个 value只能有一个 key.

     -multimap          #### 多映射, 支持重复值, 即有可能两个 key 都指向同一个 value.

    <set>

     -set               #### 集合, 不支持重复值, 即一个集合中, 不可能出现重复值.

     -multiset          #### 多集合, 支持重复值, 即一个集合中, 允许出现重复值.

    <bitset>            #### 比特位操作.

    ########################################################################

    <algorithm>         #### 算法集合.

    -sort               #### 排序.

     -stable            #### 稳定排序, 即当 first == second 时, 不进行调换位置操作.

     -partial           #### 只排序区间中其中的一部分.

    -search              #### 搜索, 查找.

     -binary             #### 二分查找, 只适合于已排序查找.

     -stable             #### 稳定查找.

     -bound              #### 找到最大/最小位置.

     -min/max            #### 找到最大/最小值.

     -single/subsequence #### 查找单值/序列.

    -range              #### 区间操作.

     -reverse           #### 倒转, 如: [1, 2, 3, 4] 变成 [4, 3, 2, 1]

     -merge             #### 合并, 如: [1, 2], [3, 4] 变成 [1, 2, 3, 4]

     -rotate            #### 翻转, 如: [1, 2, 3, 4, 5] 围绕4进行翻转, 变成 [5, 4, 1, 2, 3, 4]

    -inner              #### 一些内部操作.

     -replace           #### 替换元素.

     -remove            #### 移除元素.

     -unique            #### 去除区间中的多余重复值, 即重复值只保留一份.

     -transform         #### 转换.

    -other

     -equal             #### 比较两个区间是否相等.

     -copy              #### 拷贝区间.

     -for_each          #### 对区间每一个元素进行相应处理.

     -count             #### 计算区间的元素个数.

     -fill/generate     #### 填充区间.

    ############################################################################################################

    ##

    ## MADE BY LEAN

    ## DATE 2011-10-24

    ##

    ############################################################################################################

    ##

    ##

    ############################################################################################################

  • 相关阅读:
    html+css 笔记
    JS随手笔记
    JQ几个淡入淡效果
    AngularJS编译阶段应分为两个阶段
    JavaScript 原型链的理解
    js继承的6种方式
    什么是跨域?跨域解决方法
    computed (计算属性) 和 methods (方法) 的区别
    谈谈vue生命周期
    基本类型有哪几种?null 是对象吗?基本数据类型和复杂数据类型存储有什么区别?
  • 原文地址:https://www.cnblogs.com/lin1270/p/2222481.html
Copyright © 2011-2022 走看看