![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数值运算
文章平均质量分 87
算法库提供大量用途的函数(例如查找、排序、计数、操作),它们在元素范围上操作。注意范围定义为 [first, last) ,其中 last 指代要查询或修改的最后元素的后一个元素。不修改序列的操作
繁星璀璨G
单身,求对象
展开
-
C++11标准模板(STL)- 算法库 - 应用一个函数对象,然后以乱序规约(函数模板) -(std::transform_reduce)
等价于 transform_reduce(first1, last1, first2, init, std::plus(), std::multiplies()); ,默认的 std::inner_product 的等效并行版本原创 2024-08-18 16:36:24 · 643 阅读 · 0 评论 -
C++11标准模板(STL)- 算法库 - 类似 std::partial_sum,第 i 个和中包含第 i 个输入 -(std::inclusive_scan)
用 binary_op (或对于重载 (1-2) 则是 std::plus() )对范围 [first, last) 计算包含性前缀和运算,以 init 为初始值(若提供),并将结果写入从 d_first 开始的范围。“包含性”意味着第 i 个输入元素包含于第 i 个和。原创 2024-08-17 22:12:09 · 699 阅读 · 0 评论 -
C++11标准模板(STL)- 算法库 - 类似 std::partial_sum,第 i 个和中排除第 i 个输入 -(std::exclusive_scan)
用 binary_op (或对于重载 (1-2) 是 std::plus() )计算范围 [first, last) 上排除性前缀和,以 init 为初始值,并写入结果到从 d_first 开始的范围。“排除性”表示第 i 个输入元素不包含于第 i 个和。原创 2024-08-16 00:33:33 · 530 阅读 · 0 评论 -
C++11标准模板(STL)- 算法库 - 类似 std::accumulate,但不依序执行 -(std::reduce)
1) 同 reduce(first, last, typename std::iterator_traits::value_type{})3) 同 reduce(first, last, init, std::plus())5) 在 binary_op 上以初值 init 规约范围 [first; last) ,可能以未指定方式排序聚合。2,4,6) 同 (1,3,5) ,但按照 policy 执行。此重载仅若std::is_execution_policy_v原创 2024-08-15 23:55:02 · 944 阅读 · 0 评论 -
C++11标准模板(STL)- 算法 - 数值运算(std::partial_sum)
计算范围内元素的部分和。计算范围 [first, last) 的子范围中元素的部分和,并写入到始于 d_first 的范围。第一版本用 operator+ ,第二版本用给定的二元函数 op 对元素求和,均将 std::move 应用到其左侧运算数 (C++20 起)。原创 2022-12-28 08:30:00 · 1109 阅读 · 0 评论 -
C++11标准模板(STL)- 算法 - 数值运算 (std::inner_product)
计算两个范围的元素的内积。计算内积(即积之和)或在范围 [first1, last1) 和始于 first2 的范围上进行有序映射/规约操作。原创 2022-12-26 08:30:00 · 1580 阅读 · 0 评论 -
C++11标准模板(STL)- 算法 - 数值运算 (std::adjacent_difference)
计算范围内各相邻元素之间的差。计算 [first, last) 范围中每对相邻元素的第二个和第一个的差,并写入它们到始于 d_first + 1 的范围。写入不修改的 *first 副本到 *d_first 。原创 2022-12-27 08:30:00 · 927 阅读 · 0 评论 -
C++11标准模板(STL)- 算法 - 数值运算(std::iota)
用从起始值开始连续递增的值填充一个范围。以始于 value 并重复地求值 ++value 的顺序递增值填充范围 [first, last) 。原创 2022-12-24 08:30:00 · 1666 阅读 · 2 评论 -
C++11标准模板(STL)- 算法 - 数值运算 (std::accumulate)
对一个范围内的元素求和。计算给定值 init 与给定范围 [first, last) 中元素的和。第一版本用 operator+ ,第二版本用二元函数 op 求和元素,均将 std::move 应用到其左侧运算数 (C++20 起)。原创 2022-12-25 08:30:00 · 3648 阅读 · 0 评论