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()
查找不小于给定值的第一个元素。 |

