C++ 算法 transform()17 Mar 2025 | 4 分钟阅读 C++ 算法 transform() 函数有两种不同的用法 1. 一元操作:- 此方法对范围 [first1, last1] 中的元素执行一元操作 op,并将结果存储在从 result 开始的范围中。 此 transform() 将函数应用于范围的每个元素 ![]() 2. 二元操作:- 此方法对范围 [first1, last1] 中的元素与从迭代器 first2 开始的范围中的元素执行二元操作 binary_op,并将结果存储在从 result 开始的范围中。 此 transform() 接受两个范围,并对来自输入范围的每对元素应用一个接受两个参数的函数 ![]() 语法一元操作(1) 二元操作(2) 参数first1:指向第一个操作范围的第一个元素位置的输入迭代器。 last1:指向第一个操作范围的最后一个元素之后一个位置的迭代器。 first2:指向第二个操作范围的第一个元素的输入迭代器。 result:指向存储操作结果的范围的初始位置的输出迭代器。 op:应用于范围中每个元素的一元函数。 binary_op:接受两个元素作为其参数的二元函数。 返回值transform() 返回一个指向转换范围末尾的迭代器。 复杂度复杂度与 first1 和 last1 之间的距离呈线性关系。 数据竞争访问范围 [first1, last1) 中的对象,每个对象只访问一次。 修改从 result 开始的范围中的对象。 异常安全如果任何函数调用、赋值或迭代器上的操作抛出异常,则抛出异常。 请注意,无效参数会导致未定义行为。 示例 1让我们看一个简单的例子来演示 transform() 的用法 输出 6 2 8 示例 2让我们看另一个简单示例 输出 aaa b cccc 示例 3让我们看另一个简单示例 输出 Transform operation b[i] a[i] c[i] 1 ^ 1 = 1 2 ^ 2 = 4 3 ^ 1 = 3 1 ^ 2 = 1 2 ^ 1 = 2 3 ^ 2 = 9 1 ^ 1 = 1 2 ^ 2 = 4 3 ^ 1 = 3 1 ^ 2 = 1 上述示例说明了 transform() 算法。该程序创建两个向量,并通过插入一个等于第一个向量中元素幂的第二个向量中元素的值来转换第三个向量。函数 power 作为谓词传递给 transform() 函数。 示例 4让我们看另一个简单示例 输出 foo contains: 21 41 61 81 101 下一主题C++ 算法 |
C++ 算法 max() C++ 算法 max() 函数可以通过以下 3 种方式使用:它比较其参数中传递的两个值,并返回其中较大的一个。如果两者相等,则返回第一个。它还使用二元...比较这两个值。
5 分钟阅读
C++ 算法 partial_sort_copy() C++ Algorithm partial_sort_copy() 函数与 partial_sort() 函数类似,它用于重新排列范围 [first, last) 中的元素,使得 first 和 middle 之间的元素被排序,而 middle 和 last 之间的元素被...
阅读 8 分钟
C++ 算法 partial_sort() C++ 算法 partial_sort() 函数用于重新排列范围 [first, last) 中的元素,使得 first 和 middle 之间的元素将被排序,而 middle 和 last 之间的元素将处于未指定顺序。这...
阅读 6 分钟
C++ 算法函数 for_each() C++ 算法 for_each() 函数将函数 func 应用于从“first”到“last”范围内的所有元素。语法模板 <class InputIterator, class Function> Function for_each (InputIterator first, InputIterator last, Function func); 参数 first: 指定列表中的第一个元素。last: 指定...
阅读 4 分钟
C++ 算法 set_union() C++ 算法 set_union() 函数用于查找两个已排序范围 [first1, last1) 和 [first2, last2) 的并集,该并集由存在于其中一个集合或两个集合中的元素组成。元素使用运算符 < 进行比较...
阅读 6 分钟
C++ 算法函数 copy_n() C++ 算法 copy_n() 函数指定要复制到新容器中的元素数量。该函数用于将容器 [first,last) 的 n 个元素复制到从 result 开始的不同容器中。语法模板<class InputIterator, class Size, class OutputIterator> OutputIterator copy_n(InputIterator first, Size...
阅读1分钟
C++ 算法函数 mismatch() C++ 算法 mismatch() 函数比较两个容器以发现任何值不匹配。该函数返回两个容器中不匹配的第一个元素。语法模板<class InputIterator1, classInputIterator2> pair<InputIterator1, InputIterator2> mismatch(InputIterator1 first1, InputIterator2 first2> template<class InputIterator1, class InputIterator2, class BinaryPredicate> pair<InputIterator1,InputIterator2> mismatch(InputIterator1 first1,...
阅读 3 分钟
C++ 算法函数 find() C++ 算法 find() 函数指定参数列表中的一个值,在范围内搜索该值,迭代器从第一个元素开始搜索并一直到最后一个元素,如果找到该元素...
阅读 2 分钟
C++ 算法 includes() C++ 算法 includes() 函数如果排序范围 [first2, last2) 中的每个元素都在排序范围 [first1, last1) 中找到,则返回 true。如果 [first2, last2) 为空,它也返回 true。元素使用第一个版本中的运算符 < 或使用给定...
5 分钟阅读
C++ 算法 generate_n() C++ 算法 generate_n() 函数用于将由函数对象生成的值分配给范围内指定数量的元素,并返回到最后一个分配值位置之后的一个位置。生成器函数由...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India