c++ 之STL算法总览


表格中将所有的 STL 算法的名称、用途、文件分布等等,依算法名称的字母顺序列表。

表格中凡是不在 STL 标准规格之列的 SGI 专属算法,都以 * 加以表示。



算法名称 算法用途 质变 所在文件
accumulate 元素累计 <stl_numeric.h>
adjacent_difference 相邻元素的差额 是 if in-place <stl_numeric.h>
adjacent_find 查找相邻而重复的元素(或者符合某条件) <stl_algo.h>
binary_search 二分查找 <stl_algo.h>
copy 复制 是 if in-place <stl_algobase.h>
copy_backward 逆向复制 是 if in-place <stl_algobase.h>
copy_n * 复制 n 个元素 是 if in-place <stl_algobase.h>
count 计数 <stl_algo.h>
count_if 在特定条件下计数 <stl_algo.h>
equal 判断两个区间是否相等 <stl_algobase.h>
equal_range 在有序区间查找某值 <stl_algo.h>
fill 改填元素值 <stl_algobase.h>
fill_n 改填元素值 n 次 <stl_algobase.h>
find 循环查找 <stl_algo.h>
find_if 循环查找符合特定条件者 <stl_algo.h>
find_end 查找子序列最后一次出现位置 <stl_algo.h>
find_first_of 查找子序列元素首次出现位置 <stl_algo.h>
foreach 对区间每个元素施行某操作 <stl_algo.h>
generate 以特定操作结果填充区间元素 <stl_algo.h>
generate_n 以特定操作结果填充区间 n 个元素 <stl_algo.h>
includes 是否涵盖于某序列之中 <stl_algo.h>
inner_product 内积 <stl_numeric.h>
inplace_merge 合并并就地替换 <stl_algo.h>
iota * 在区间填入指定的递增序列 <stl_numeric.h>
is_heap * 判断区间是否为一个 heap <stl_algo.h>
is_sorted * 判断区间是否已排序 <stl_algo.h>
iter_swap 元素互换 <stl_algobase.h>
lexicographical_compare 以字典顺序进行比较 <stl_numeric.h>
lower_bound 插入指定元素而不影响排序的最低位置 <stl_algo.h>
max 最大值 <stl_algobase.h>
max_element 最大值所在位置 <stl_algo.h>
merge 合并两个序列 是 if in-place <stl_algo.h>
min 最小值 <stl_algobase.h>
min_element 最小值所在位置 <stl_algo.h>
mismatch 找出不匹配点 <stl_algobase.h>
next_premutation 获得下一个排列组合 <stl_algo.h>
nth_element 重新排列序列第 n 个元素的左右两端 <stl_algo.h>
partial_sort 局部排序 <stl_algo.h>
partial_sort_copy 局部排序并复制到他处 是 if in-place <stl_algo.h>
partial_sum 局部求和 是 if in-place <stl_numeric.h>
partition 分割 <stl_algo.h>
prev_permutation 获得前一个排列组合 <stl_algo.h>
power * 幂次方,表达式可指定 <stl_numeric.h>
random_shuffle 随机重排元素 <stl_algo.h>
random_sample * 随机取样 是 if in-place <stl_algo.h>
random_sample_n * 随机取样 是 if in-place <stl_algo.h>
remove 删除某类元素 <stl_algo.h>
remove_copy 删除某类元素并将结果复制到别处 <stl_algo.h>
remove_if 有条件地删除某类元素 <stl_algo.h>
remove_copy_if 有条件地删除某类元素并将结果复制到别处 <stl_algo.h>
replace 替换某类元素 <stl_algo.h>
replace_copy 替换某类元素并将结果复制到别处 <stl_algo.h>
replace_if 有条件地替换 <stl_algo.h>
replace_copy_if 有条件地替换并将结果复制到别处 <stl_algo.h>
reverse 反转元素次序 <stl_algo.h>
reverse_copy 反转元素次序并将结果复制到别处 <stl_algo.h>
rotate 旋转 <stl_algo.h>
rotate_copy 旋转并将结果复制到别处 <stl_algo.h>
search 查找某个子序列 <stl_algo.h>
search_n 查找连续发生 n 次的子序列 <stl_algo.h>
set_difference 差集 是 if in-place <stl_algo.h>
set_intersection 交集 是 if in-place <stl_algo.h>
set_symmetric_difference 对称差集 是 if in-place <stl_algo.h>
set_union 并集 是 if in-place <stl_algo.h>
sort 排序 <stl_algo.h>
stable_partition 分割并保持元素相对次序 <stl_algo.h>
stable_sort 排序并保持等值元素相对次序 <stl_algo.h>
swap 交换元素 <stl_algobase.h>
swap_ranges 交换指定区间 <stl_algo.h>
transform 以两个序列为基础交互产生第三个序列 <stl_algo.h>
unique 将重复元素折叠使之唯一 <stl_algo.h>
unique_copy 将重复元素折叠使之唯一并复制到别处 是 if in-place <stl_algo.h>
upper_bound 插入指定元素而不影响排序的最高位置 <stl_algo.h>
make_heap 制造一个 heap <stl_heap.h>
pop_heap 从 heap 取出一个元素 <stl_heap.h>
push_heap 将一个元素推进 heap 内 <stl_heap.h>
sort_heap 对 heap 排序 <stl_heap.h>

猜你喜欢

转载自blog.csdn.net/qq_30534935/article/details/102880598