Cpp Standard Library 简明教程
C++ Library - <algorithm>
Introduction to algorithm
algorithm 库提供了一些可用于多种用途的函数,例如搜索、排序、计数、操作等。这些函数对元素范围进行操作,并且该范围定义为 [first, last)。
Functions from <algorithm>
下面是从 <algorithm> header 中列出所有方法。
Member functions
Sr.No. |
Method & Description |
1 |
algorithm::adjacent_find() 查找连续两个元素的第一个匹配项,如果连续存在两个连续的匹配项,则返回指向第一个元素的迭代器,否则返回指向最后一个元素的迭代器。 |
2 |
algorithm::adjacent_find() 查找连续两个元素的第一个匹配项,如果连续存在两个连续的匹配项,则返回指向第一个元素的迭代器,否则返回指向最后一个元素的迭代器。 |
3 |
algorithm::all_of() 如果谓词对 first 到 last 范围内的所有元素返回 true,则返回 true。 |
4 |
algorithm::any_of() 如果谓词对 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() 测试 first 集合是否是另一个集合的子集。 |
32 |
algorithm::includes() 测试 first 集合是否是另一个集合的子集。 |
33 |
algorithm::inplace_merge() 就地合并两个排序序列。 |
34 |
algorithm::inplace_merge() 就地合并两个排序序列。 |
35 |
algorithm::is_heap() 测试给定序列是否是最大堆。 |
36 |
algorithm::is_heap() 测试给定序列是否是最大堆。 |
37 |
algorithm::is_heap_until() 从序列中找到第一个违反最大堆条件的元素。 |
38 |
algorithm::is_heap_until() 从序列中找到第一个违反最大堆条件的元素。 |
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() 找到第一个不小于给定值的值。 |