C++ 算法

C++ 算法 首页 / C++入门教程 / C++ 算法

该库定义了大量函数,这些函数特别适合一次或在一定参数内用于大量元素。现在让我们直接看一下这些函数。

非修改序列函数

函数 说明
all_of 以下函数判断参数内所有元素的条件。
any_of 以下函数判断参数内某些或任何元素的条件
none_of 以下函数检查是否所有元素都不符合条件。
for_each 该函数对参数的所有元素应用运算。
find 该函数在参数内找到一个值。
find_if 该函数查找元素在参数内。
find_if_not 该函数在该参数内找到一个元素,但方式与上述相反。
find_end 该函数用于返回参数的最后一个元素。
find_first_of 该函数查找满足条件并首先出现的元素。
adjacent_find 该函数进行搜索以查找参数内的相等和相邻元素。
count 该函数返回参数内的值的计数。
count_if 该函数返回满足条件的值的计数。
mismatch 该函数按顺序返回第一个不匹配的值。
equal 该函数用于检查两个参数是否所有元素都相等。
is_permutation 该函数检查参考参数是否为其他参数的排列。
search 该函数在一个参数内搜索子序列。
search_n 该函数在参数内搜索元素的出现。

修改序列函数

函数 说明
copy 该函数复制元素的参数。
copy_n 该函数复制参数内的n个元素
copy_if 如果满足特定条件,该函数将复制参数的元素。
copy_backward 函数以向后的顺序复制元素
move 该函数移动元素的参数。
move_backward 该函数将元素参数向后移动
swap 该函数交换两个对象的值。
swap_ranges 该函数交换两个参数的值。
iter_swap 该函数交换参考下两个迭代器的值。
transform 该函数转换一个参数内的所有值。
replace 该函数将参数内的值替换为特定值。
replace_if 如果满足特定条件,该函数将替换参数的值。
replace_copy 该函数通过替换元素来复制值的参数。
replace_copy_if 如果满足特定条件,该函数将通过替换元素来复制值的参数。
fill 该函数用一个值填充参数内的值。
fill_n 该函数填充序列中的值。
generate 该函数用于生成参数值。
generate_n 该函数用于生成序列的值。
remove 该函数从参数中删除值。
remove_if 如果满足条件,该函数将删除参数的值。
remove_copy 该函数通过删除参数值来复制它们。
remove_copy_if 该函数通过在满足条件的情况下删除参数来复制参数的值。
unique 该函数标识参数的唯一元素。
unique_copy 该函数复制参数的唯一元素。
reverse 该函数可逆转参数。
reverse_copy 该函数通过反转值来复制参数。
rotate 该函数将参数的元素向左旋转。
rotate_copy 该函数复制向左旋转的参数的元素。
random_shuffle 该函数随机调整参数。
shuffle 该函数借助生成器随机调整参数。

分区

函数 说明
is_partitioned 该函数用于推断参数是否已分区。
partition 该函数用于划分参数。
stable_partition 该函数将参数分为两个稳定的一半。
partition_copy 该函数在分区后复制参数。
partition_point 该函数返回参数的分区点。

排序

函数 说明
sort 该函数对参数内的所有元素进行排序。
stable_sort 该函数在保持相对等效顺序的参数内对元素进行排序。
partial_sort 该函数对参数的元素进行部分排序。
partial_sort_copy 该函数对参数进行排序后将其复制。
is_sorted 该函数检查参数是否已排序。
is_sorted_until 函数检查直到参数排序的元素。
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 该函数对堆进行排序。
is_heap 该函数检查参数是否为堆。
is_heap_until 该函数检查参数直到堆的哪个位置。

最小/最大

函数 说明
max 返回参数的最大元素。
min 返回参数的最小元素。
minmax 返回参数的最小和最大元素。
min_element 返回参数的最小元素。
max_element 返回参数的最大元素。
minmax_element 返回参数的最小和最大元素。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

左耳听风 -〔陈皓〕

MySQL实战45讲 -〔林晓斌〕

软件工程之美 -〔宝玉〕

DevOps实战笔记 -〔石雪峰〕

Flink核心技术与实战 -〔张利兵〕

张汉东的Rust实战课 -〔张汉东〕

Spring编程常见错误50例 -〔傅健〕

超级访谈:对话张雪峰 -〔张雪峰〕

工程师个人发展指南 -〔李云〕

好记忆不如烂笔头。留下您的足迹吧 :)