---恢复内容开始---
在今天差漏补缺的时候
发现了这个
有趣的东西
不止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 | 将满足堆结构的范围排序 |
原文:https://www.cnblogs.com/darlingroot/p/10354660.html