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 swap_ranges函数用于交换两个范围的值。
iter_swap iter_swap函数用于交换两个迭代器所指向的值。
transform transform函数用于对一个范围内的所有值进行转换。
replace replace函数用于用特定的值替换范围内的值。
replace_if replace_if函数用于满足特定条件时替换范围内的值。
replace_copy 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 该函数检查范围何时不再为堆。

最小/最大值

Function Description
min Returns the smallest element of the range. | max | 返回范围中的最大元素。
minmax 返回范围中最小和最大的元素。
min_element 返回范围中最小的元素。
max_element 返回范围中的最大元素。
minmax_element 返回范围中最小和最大的元素。

其他函数

功能 描述
lexicographical_comapre 该函数执行词法小于比较。 | next_permutation | 该函数用于将范围转换为下一个排列。
perv_permutation 该函数用于将范围转换为前一个排列。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程