stl algorithm

find (find_if)

搜索等于某值的第一个元素

adjacent_find

搜索连续两个相等的元素

find_first_of

搜索等于某个数值之一的第一个元素

find_end

搜索某个子区间最后出现的位置

search

搜索某个子区间第一次出现的位置

search_n

搜索具有某个特性的第一段n个连续元素

binary_search

判断某个区间内是否包含某个元素

 


equal

判断两个区间是否相等



lexicographical_compare

判断某序列在字典序下是否小于另一个序列

mismatch

返回两个序列的各组对应元素中, 第一个不相等元素



copy

从第一个元素开始,复制某段区间

copy_backward

从最后一个元素开始,复制某段区间



count (count_if)

返回元素数目



equal_range

返等于给定值的所有元素的区间

lower_bound

搜索第一个大于等于给定值的元素

upper_bound

搜索第一个大于给定值的元素



fill

以给定值替换每一个元素

fill_n

以给定值替换n个元素

generate

以某项操作的结果替换每一个元素

generate_n

以某项操作的结果替换n个元素



for_each

对每个元素执行操作

transform

变动并复制元素,将两个区间的元素合并



includes

判断某区间的每个元素是否都涵盖于另一区间中



iter_swap

交换迭代器指

swap

交换元素

swap_ranges

交换两个区间的元素



make_heap

将区间转换成heap

pop_heap

从heap移除一个元素

push_heap

将元素加入一个heap



max_element

返回最大元素

min_element

返回最小元素



next_permutation

得到元素的下一个排列

prev_permutation

得到元素的上一个排列



sort

排序

stable_sort

稳定排序

sort_heap

对heap进行排序

partial_sort

排序前面n个元素

partial_sort_copy

排序前面n个元素,并复制

partition

改变元素次序, 使符合条件的元素移动到前面

stable_partition

不改变相对次序的partition

merge

合并两个区间

inplace_merge

将两个连续的已序区间合并

nth_element

根据第n各位置进行排序



random_shuffle

将元素的次序随机打乱



remove (remove_if)

将等于某特定值的元素全部移除

remove_copy

remove_copy_if

将不等于某特定值的元素全部复制



unique

移除邻接的重复元素

unique_copy

移除邻接的重复元素,并复制



replace (replace_if)

将具有某特定值的元素替换为另一个值

replace_copy

replace_copy_if

复制整个区间,并同时将具有某个特定值的元素替换为另一个值



reverse

将元素的次序逆转

reverse_copy

复制的同时,逆转元素次序

rotate

旋转元素次序

rotate_copy

复制的同时,旋转元素次序



set_union

交集

set_intersection

并集

set_difference

出现在第一区间但不出现在第二区间的元素(差集)

set_symmetric_difference

只出现于两区间之一的所有元素(异或)



accumulate

组合所有元素(总合,总乘积)

adjacent_difference

将每个元素和其前一元素组合

partial_sum

将每个元素和其之前的所有元素组合

inner_product

组合两区间内的所有元素


你可能感兴趣的:(Algorithm)