zoukankan      html  css  js  c++  java
  • algorithm

    在今天差漏补缺的时候

    发现了这个

    有趣的东西

    不止sort这一个函数

    实用价值大

    它的能力还是很大很大很大的

    于是

    就来写一写了

    1.min

      (不得不说 看到这个min函数是属于algorithm头文件的时候 真的是很吃惊 因为 我往往都是在用iostream的)

      最大最小操作

    is_permutation 判断一个序列是否是另一个序列的一种排序
    lexicographical_compare 比较两个序列的字典序
    max 返回两个元素中值最大的元素
    max_element 返回给定范围中值最大的元素
    min 返回两个元素中值最小的元素
    min_element 返回给定范围中值最小的元素
    minmax 返回两个元素中值最大及最小的元素
    minmax_element 返回给定范围中值最大及最小的元素
    next_permutation 返回给定范围中的元素组成的下一个按字典序的排列
    prev_permutation

    返回给定范围中的元素组成的上一个按字典序的排列

    2.swap

      (比较)

    修改内容操作

    copy 将一个范围中的元素拷贝到新的位置处
    copy_backward 将一个范围中的元素按逆序拷贝到新的位置处
    copy_if 将一个范围中满足给定条件的元素拷贝到新的位置处
    copy_n 拷贝 n 个元素到新的位置处
    fill 将一个范围的元素赋值为给定值
    fill_n 将某个位置开始的 n 个元素赋值为给定值
    generate 将一个函数的执行结果保存到指定范围的元素中,用于批量赋值范围中的元素
    generate_n 将一个函数的执行结果保存到指定位置开始的 n 个元素中
    iter_swap 交换两个迭代器(Iterator)指向的元素
    move 将一个范围中的元素移动到新的位置处
    move_backward 将一个范围中的元素按逆序移动到新的位置处
    random_shuffle 随机打乱指定范围中的元素的位置
    remove 将一个范围中值等价于给定值的元素删除
    remove_if 将一个范围中值满足给定条件的元素删除
    remove_copy 拷贝一个范围的元素,将其中值等价于给定值的元素删除
    remove_copy_if 拷贝一个范围的元素,将其中值满足给定条件的元素删除
    replace 将一个范围中值等价于给定值的元素赋值为新的值
    replace_copy 拷贝一个范围的元素,将其中值等价于给定值的元素赋值为新的值
    replace_copy_if 拷贝一个范围的元素,将其中值满足给定条件的元素赋值为新的值
    replace_if 将一个范围中值满足给定条件的元素赋值为新的值
    reverse 反转排序指定范围中的元素
    reverse_copy 拷贝指定范围的反转排序结果
    rotate 循环移动指定范围中的元素
    rotate_copy 拷贝指定范围的循环移动结果
    shuffle 用指定的随机数引擎随机打乱指定范围中的元素的位置
    swap 交换两个对象的值
    swap_ranges 交换两个范围的元素
    transform 对指定范围中的每个元素调用某个函数以改变元素的值
    unique 删除指定范围中的所有连续重复元素,仅仅留下每组等值元素中的第一个元素。
    unique_copy 拷贝指定范围的唯一化(参考上述的 unique)结果

    3.其他

     不修改内容

    adjacent_find 查找两个相邻(Adjacent)的等价(Identical)元素
    all_of 检测在给定范围中是否所有元素都满足给定的条件
    any_of 检测在给定范围中是否存在元素满足给定条件
    count 返回值等价于给定值的元素的个数
    count_if 返回值满足给定条件的元素的个数
    equal 返回两个范围是否相等
    find 返回第一个值等价于给定值的元素
    find_end 查找范围A中与范围B等价的子范围最后出现的位置
    find_first_of 查找范围A中第一个与范围B中任一元素等价的元素的位置
    find_if 返回第一个值满足给定条件的元素
    find_if_not 返回第一个值不满足给定条件的元素
    for_each 对范围中的每个元素调用指定函数
    mismatch 返回两个范围中第一个元素不等价的位置
    none_of 检测在给定范围中是否不存在元素满足给定的条件
    search 在范围A中查找第一个与范围B等价的子范围的位置
    search_n 在给定范围中查找第一个连续n个元素都等价于给定值的子范围的位置

    划分操作

    is_partitioned 检测某个范围是否按指定谓词(Predicate)划分过
    partition 将某个范围划分为两组
    partition_copy 拷贝指定范围的划分结果
    partition_point 返回被划分范围的划分点
    stable_partition 稳定划分,两组元素各维持相对顺序

     

    划分操作

    is_partitioned 检测某个范围是否按指定谓词(Predicate)划分过
    partition 将某个范围划分为两组
    partition_copy 拷贝指定范围的划分结果
    partition_point 返回被划分范围的划分点
    stable_partition 稳定划分,两组元素各维持相对顺序

    查找操作

    binary_search 判断范围中是否存在值等价于给定值的元素
    equal_range 返回范围中值等于给定值的元素组成的子范围
    lower_bound 返回指向范围中第一个值大于或等于给定值的元素的迭代器
    upper_bound 返回指向范围中第一个值大于给定值的元素的迭代器

    合操作

    includes 判断一个集合是否是另一个集合的子集
    inplace_merge 就绪合并
    merge 合并
    set_difference 获得两个集合的差集
    set_intersection 获得两个集合的交集
    set_symmetric_difference 获得两个集合的对称差
    set_union 获得两个集合的并集
     

    堆操作

    is_heap 检测给定范围是否满足堆结构
    is_heap_until 检测给定范围中满足堆结构的最大子范围
    make_heap 用给定范围构造出一个堆
    pop_heap 从一个堆中删除最大的元素
    push_heap 向堆中增加一个元素
    sort_heap 将满足堆结构的范围排序
  • 相关阅读:
    用Actionscript3.0编写的伪3D文字旋转
    iis权限设置
    SQL 不能通过IP正常连接终极解决方案
    创建一个非常简单的NHibernate的应用
    解决“System.Data.OracleClient需要Oracle客户端软件8.1.7或更高版本”
    详细讲解提高数据库查询效率的实用方法、外键关于性能
    解决ERRORORA12514:TNS:监听程序当前无法识别连接描述符中请求的服务
    session丢失问题
    Jquery AJAX WebService处理方式 demo
    DIV模拟弹出窗口(支持拖动)
  • 原文地址:https://www.cnblogs.com/darlingroot/p/10354660.html
Copyright © 2011-2022 走看看