该库定义了大量函数,这些函数特别适合一次或在一定参数内用于大量元素。现在让我们直接看一下这些函数。
非修改序列函数
| 函数
|
说明
|
| 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
|
返回参数的最小和最大元素。 |
参考链接
www.learnfk.com/c++/cpp-alg…