#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()