#include<algorithm>函数用法:
==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个元素都等价于给定值的子范围的位置
修改内容操作
==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== 交换两个对象的值
s==w==ap_ranges 交换两个范围的元素
==transform== 对指定范围中的每个元素调用某个函数以改变元素的值
==unique== 删除指定范围中的所有连续重复元素,仅仅留下每组等值元素中的第一个元素。
==unique_copy== 拷贝指定范围的唯一化(参考上述的 unique)结果
划分操作
==is_partitioned== 检测某个范围是否按指定谓词(Predicate)划分过
==p==artition 将某个范围划分为两组
==partition_copy== 拷贝指定范围的划分结果
==partition_point== 返回被划分范围的划分点
==stable_partition== 稳定划分,两组元素各维持相对顺序
排序操作
==is_sorted== 检测指定范围是否已排序
==is_sorted_until== 返回最大已排序子范围
==nth_element== 部分排序指定范围中的元素,使得范围按给定位置处的元素划分
==partial_sort== 部分排序
==partial_sort_copy== 拷贝部分排序的结果
==sort== 排序
==stable_sort== 稳定排序
查找操作
==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== 将满足堆结构的范围排序
最大最小操作
==is_permutation==
判断一个序列是否是另一个序列的一种排序
==lexicographical_compare== 比较两个序列的字典序
==max== 返回两个元素中值最大的元素
==max_element== 返回给定范围中值最大的元素
==min== 返回两个元素中值最小的元素
==min_element== 返回给定范围中值最小的元素
==minmax== 返回两个元素中值最大及最小的元素
==minmax_element== 返回给定范围中值最大及最小的元素
==next_permutation== 返回给定范围中的元素组成的下一个按字典序的排列
==prev_permutation== 返回给定范围中的元素组成的上一个按字典序的排列
==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个元素都等价于给定值的子范围的位置
修改内容操作
==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== 交换两个对象的值
s==w==ap_ranges 交换两个范围的元素
==transform== 对指定范围中的每个元素调用某个函数以改变元素的值
==unique== 删除指定范围中的所有连续重复元素,仅仅留下每组等值元素中的第一个元素。
==unique_copy== 拷贝指定范围的唯一化(参考上述的 unique)结果
划分操作
==is_partitioned== 检测某个范围是否按指定谓词(Predicate)划分过
==p==artition 将某个范围划分为两组
==partition_copy== 拷贝指定范围的划分结果
==partition_point== 返回被划分范围的划分点
==stable_partition== 稳定划分,两组元素各维持相对顺序
排序操作
==is_sorted== 检测指定范围是否已排序
==is_sorted_until== 返回最大已排序子范围
==nth_element== 部分排序指定范围中的元素,使得范围按给定位置处的元素划分
==partial_sort== 部分排序
==partial_sort_copy== 拷贝部分排序的结果
==sort== 排序
==stable_sort== 稳定排序
查找操作
==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== 将满足堆结构的范围排序
最大最小操作
==is_permutation==
判断一个序列是否是另一个序列的一种排序
==lexicographical_compare== 比较两个序列的字典序
==max== 返回两个元素中值最大的元素
==max_element== 返回给定范围中值最大的元素
==min== 返回两个元素中值最小的元素
==min_element== 返回给定范围中值最小的元素
==minmax== 返回两个元素中值最大及最小的元素
==minmax_element== 返回给定范围中值最大及最小的元素
==next_permutation== 返回给定范围中的元素组成的下一个按字典序的排列
==prev_permutation== 返回给定范围中的元素组成的上一个按字典序的排列