STL算法总览
算法名称 |
算法用途 |
accumulate | 元素累计 |
adjacent_difference | 相邻元素的差额 |
adjacent_find | 查找相邻而重复(符合某个条件)的元素 |
binary_search | 二分查找 |
copy | 复制 |
copy_backward | 逆向复制 |
copy_n | 复制n个元素 |
count | 计数 |
count_if | 在特定条件下计数 |
equal | 判断两个区间相等与否 |
equal_range | 试图在有序区间中寻找某值(返回一个上下限区间) |
fill | 改填元素值 |
fill_n | 改填元素值n次 |
find_if | 循序查找符合特定条件者 |
find_end | 循序查找某个子序列的最后一次 |
find_first_of | 查找某个元素首次出现点 |
for_each | 对区间内每个元素施行某个操作 |
generate | 以特定操作之运算结果填充特定区间内的元素 |
generate_n | 以特定操作之运算结果填充特定区间内的n个元素 |
includes | 是否涵盖于某个序列之中 |
inner_product | 内积 |
inplace_merge | 合并并就地替换(覆写上去) |
Iota | 在某个区间填入指定值的递增序列 |
is_heap | 判断某个区间是否一个heap |
is_sorted | 判断某个区间是否已排序 |
iter_swap | 元素交换 |
lexicographical_compare | 以字典顺序进行比较 |
lower_bound | “以指定元素插入区间之内而不影响区间之原本顺序”的最低位置 |
max | 最大值 |
max_element | 最大值所在位置 |
merge | 合并两个序列 |
min | 最小值 |
min_element | 最小值所在位置 |
mismatch | 找出不匹配点 |
next_permutation | 获得下一个排序组合 |
nth_element | 重新安排序列中的第n个元素的左右两端 |
partial_sort | 局部排序 |
partial_sort_copy | 局部排序并复制到他处 |
partial_sum | 局部求和 |
partition | 分割 |
prev_permutation | 获得前一个排列组合 |
power | 幂次方。表达式可指定 |
random_shuffle | 随机重排元素 |
random_simple | 随机取样 |
random_simple_n | 随机取样 |
remove | 删除某类元素 |
remove_copy | 删除某类元素并将结果复制到另一个容器 |
remove_if | 有条件地删除某个元素 |
remove_copy_if | 有条件地删除某个元素并将结果复制到另一个容器 |
replace | 替换某个元素 |
replace_copy | 替换某个元素并将结果复制到某一个容器 |
replace_if | 根据某个条件替换元素 |
replace_copy_if | 有条件地替换并将结果复制到另一个容器 |
reverse | 翻转元素次序 |
reverse_copy | 反转元素次序并将结果复制到另一个容器 |
rotate | 旋转 |
rotate_copy | 旋转,并将结果复制到另一个容器 |
search | 查找某个子序列 |
search_n | 查找“连续发生n次”的子序列 |
set_difference | 差集 |
set_intersection | 交集 |
set_symmetric_difference | 对称差集 |
set_union | 并集 |
sort | 排序 |
stable_partition | 分割并保持元素的相对位置 |
stable_sort | 排序并保持元素的相对次序 |
swap | 交换(对调) |
swap_ranges | 交换(指定区间) |
transform | 以两个序列为基础,交互作用产生第三个序列 |
unique | 将重复的原色折叠缩编 |
unique_copy | 将重复的原色折叠缩编,并复制到他处 |
upper_bound | “以指定元素插入区间之内而不影响区间之原本顺序”的最高位置 |
make_heap | 制造出一个heap |
pop_heap | 将一个元素推进heap内 |
sort_heap | 对heap排序 |