个性化阅读
专注于IT技术分析

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 该函数检查范围是堆的哪个位置。

最小/最大

功能 描述
min 返回范围的最小元素。
max 返回范围的最大元素。
minmax 返回范围的最小和最大元素。
min_element 返回范围的最小元素。
max_element 返回范围的最大元素。
minmax_element 返回范围的最小和最大元素。

其他功能

功能 描述
lexicographical_comapre 该函数执行词典上的小于比较。
next_permutation 该函数用于将范围转换为下一个排列。
perv_permutation 该函数用于将范围转换为先前的排列。
赞(0) 打赏
未经允许不得转载:srcmini » C++算法功能
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏