C++ 标准模板库 - <algorithm>
algorithm 简介
algorithm 算法库提供了多种功能,可用于各种目的,例如搜索、排序、计数、操作等。 这些函数对元素范围进行操作,范围定义为 [first, last)。
<algorithm> 中的函数
下面是来自 <algorithm> 标头的所有方法的列表。
成员函数
序号 | 方法 & 说明 |
---|---|
1 | algorithm::adjacent_find()
查找两个相同的连续元素的第一次出现,如果相同的元素连续存在,则返回指向第一个元素的迭代器,否则返回指向最后一个元素的迭代器。 |
2 | algorithm::adjacent_find()
查找两个相同的连续元素的第一次出现,如果相同的元素连续存在,则返回指向第一个元素的迭代器,否则返回指向最后一个元素的迭代器。 |
3 | algorithm::all_of()
如果 predicate 对 first 到 last 范围内的所有元素返回 true,则返回 true。 |
4 | algorithm::any_of()
如果 predicate 对 first 到 last 范围内的任何元素返回 true,则返回 true。 |
5 | algorithm::binary_search()
测试值是否以排序顺序存在。 |
6 | algorithm::binary_search()
测试值是否以排序顺序存在。 |
7 | algorithm::copy()
将一系列元素复制到新位置。 |
8 | algorithm::copy_backward()
以向后的顺序将一系列元素复制到新位置。 |
9 | algorithm::copy_if()
如果谓词为值返回 true,则将一系列元素复制到新位置。 |
10 | algorithm::copy_n()
将前 n 个数字复制到新位置。 |
11 | algorithm::count()
返回值在范围内的出现次数。 |
12 | algorithm::count_if()
返回满足条件的范围内值的出现次数。 |
13 | algorithm::equal()
测试两组元素是否相等。 |
14 | algorithm::equal()
测试两组元素是否相等。 |
15 | algorithm::equal_range()
返回与特定键匹配的元素范围。 |
16 | algorithm::equal_range()
返回与特定键匹配的元素范围。 |
17 | algorithm::fill()
为一系列元素分配特定值。 |
18 | algorithm::fill_n()
为 first 指向的序列的前 n 个元素赋值。 |
19 | algorithm::fill_n()
为 first 指向的序列的前 n 个元素赋值。 |
20 | algorithm::find()
查找元素的第一次出现。 |
21 | algorithm::find_end()
查找元素的最后一次出现。 |
22 | algorithm::find_end()
查找元素的最后一次出现。 |
23 | algorithm::find_first_of()
返回一个迭代器,指向 (first1,last1) 范围内与 first2,last2 中的任何元素匹配的第一个元素。 |
24 | algorithm::find_first_of()
返回一个迭代器,指向 (first1,last1) 范围内与 first2,last2 中的任何元素匹配的第一个元素。 |
25 | algorithm::find_if()
查找满足条件的元素的第一次出现。 |
26 | algorithm::find_if_not()
查找满足条件的元素的最后一次出现。 |
27 | algorithm::for_each()
将提供的函数应用于范围的每个元素。 |
28 | algorithm::generate()
将连续调用 gen 返回的值分配给 first 到 last 范围内的元素。 |
29 | algorithm::generate_n()
将连续调用 gen 返回的值分配给 first 指向的序列的前 n 个元素。 |
30 | algorithm::generate_n()
将连续调用 gen 返回的值分配给 first 指向的序列的前 n 个元素。 |
31 | algorithm::includes()
测试第一组是否是另一个的子集。 |
32 | algorithm::includes()
测试第一组是否是另一个的子集。 |
33 | algorithm::inplace_merge()
就地合并两个排序序列。 |
34 | algorithm::inplace_merge()
就地合并两个排序序列。 |
35 | algorithm::is_heap()
测试给定的序列是否是最大 heap。 |
36 | algorithm::is_heap()
测试给定的序列是否是最大 heap。 |
37 | algorithm::is_heap_until()
从违反最大 heap 条件的序列中查找第一个元素。 |
38 | algorithm::is_heap_until()
从违反最大 heap 条件的序列中查找第一个元素。 |
39 | algorithm::is_partitioned()
测试范围是否被分区。 |
40 | algorithm::is_permutation()
测试一个序列是否是其他的排列。 |
41 | algorithm::is_permutation()
测试一个序列是否是其他的排列。 |
42 | algorithm::is_sorted()
测试范围是否已排序。 |
43 | algorithm::is_sorted()
测试范围是否已排序。 |
44 | algorithm::is_sorted_until()
从序列中查找第一个未排序的元素。 |
45 | algorithm::is_sorted_until()
从序列中查找第一个未排序的元素。 |
46 | algorithm::iter_swap()
交换两个迭代器指向的对象的值。 |
47 | algorithm::lexicographical_compare()
测试一个范围在字典上是否小于另一个范围。 |
48 | algorithm::lexicographical_compare()
测试一个范围在字典上是否小于另一个范围。 |
49 | algorithm::lower_bound()
查找不小于给定值的第一个元素。 |
50 | algorithm::lower_bound()
查找不小于给定值的第一个元素。 |