原文地址:#include<algorithm>里的函数 作者:635119357 #include<algorithm>里的函数 #include<algorithm> 非修改性序列操作(12个)循环 对序列中的每个元素执行某操作 for_each()查找 在序列中找出某个值的第一次出现的位置 find() 在序列中找出符合某谓词的第一个元素 find_if() 在序列中找出一子序列的最后一次出现的位置 find_end() 在序列中找出第一次出现指定值集中之值的位置 find_first_of()在序列中找出相邻的一对值 adjacent_find()计数 在序列中统计某个值出现的次数 count() 在序列中统计与某谓词匹配的次数 count_if()比较 找出两个序列相异的第一个元素 mismatch() 两个序列中的对应元素都相同时为真 equal()搜索 在序列中找出一子序列的第一次出现的位置 search() 在序列中找出一值的连续n次出现的位置 search_n() 修改性序列操作(27个)复制 从序列的第一个元素起进行复制 copy() 从序列的最后一个元素起进行复制 copy_backward()交换交换两个元素 swap()交换指定范围的元素 swap_ranges() 交换由迭代器所指的两个元素 iter_swap()变换 将某操作应用于指定范围的每个元素 transform()替换用一个给定值替换一些值 replace()替换满足谓词的一些元素 replace_if() 复制序列时用一给定值替换元素 replace_copy() 复制序列时替换满足谓词的元素 replace_copy_if()填充用一给定值取代所有元素 fill() 用一给定值取代前n个元素 fill_n()生成 用一操作的结果取代所有元素 generate() 用一操作的结果取代前n个元素 generate_n()删除删除具有给定值的元素 remove()删除满足谓词的元素 remove_if() 复制序列时删除具有给定值的元素 remove_copy() 复制序列时删除满足谓词的元素 remove_copy_if()唯一删除相邻的重复元素 unique() 复制序列时删除相邻的重复元素 unique_copy()反转反转元素的次序 reverse()复制序列时反转元素的次序 reverse_copy()环移循环移动元素 rotate()复制序列时循环移动元素 rotate_copy()随机 采用均匀分布来随机移动元素 random_shuffle()划分 将满足某谓词的元素都放到前面 partition() 将满足某谓词的元素都放到前面并维持原顺序 stable_partition() 序列排序及相关操作(27个)排序以很好的平均效率排序 sort() 排序,并维持相同元素的原有顺序 stable_sort()将序列的前一部分排好序 partial_sort() 复制的同时将序列的前一部分排好序 partial_sort_copy()第n个元素将第n各元素放到它的正确位置 nth_element()二分检索 找到大于等于某值的第一次出现 lower_bound()找到大于某值的第一次出现 upper_bound() 找到(在不破坏顺序的前提下)可插入给定值的最大范围 equal_range() 在有序序列中确定给定元素是否存在 binary_search()归并归并两个有序序列 merge()归并两个接续的有序序列 inplace_merge()有序结构上的集合操作 一序列为另一序列的子序列时为真 includes()构造两个集合的有序并集 set_union()构造两个集合的有序交集 set_intersection()构造两个集合的有序差集 set_difference() 构造两个集合的有序对称差集(并-交) set_symmetric_difference()堆操作向堆中加入元素 push_heap()从堆中弹出元素 pop_heap()从序列构造堆 make_heap()给堆排序 sort_heap()最大和最小两个值中较小的 min()两个值中较大的 max()序列中的最小元素 min_element()序列中的最大元素 max_element()词典比较 两个序列按字典序的第一个在前 lexicographical_compare()排列生成器按字典序的下一个排列 next_permutation()按字典序的前一个排列 prev_permutation()