当前位置: 首页 > news >正文

安徽伟诚建设工程有限公司网站wordpress 整站源码

安徽伟诚建设工程有限公司网站,wordpress 整站源码,免费软件如何盈利,商城网站建设哪家最好本文与reduce函数学习的知识深度很浅,主要是记录一下使用reduce来简化代码,高效解题。 参考资料: https://cppreference.cn/w/cpp/algorithm/reduce 1. reduce 函数概述 reduce 函数类似于 accumulate,但它允许更灵活的并行化和…

本文与reduce函数学习的知识深度很浅,主要是记录一下使用reduce来简化代码,高效解题。

参考资料:
https://cppreference.cn/w/cpp/algorithm/reduce


1. reduce 函数概述

reduce 函数类似于 accumulate,但它允许更灵活的并行化和元素分组。头文件是 <numeric>

函数原型中的几种重载形式:

#include <numeric>
#include <iostream>// 没有初始值
template< class InputIt >
typename std::iterator_traits<InputIt>::value_type
reduce( InputIt first, InputIt last );// 有初始值
template< class InputIt, class T >
T reduce( InputIt first, InputIt last, T init );// 自定义操作
template< class InputIt, class T, class BinaryOp >
T reduce( InputIt first, InputIt last, T init, BinaryOp op );

2. 简单案例

简单求和

#include <iostream>
#include <vector>
#include <numeric>
int main() {vector<int> numbers = {1, 2, 3, 4, 5};int sum = reduce(numbers.begin(), numbers.end());cout << "Sum : " << sum << endl;return 0;
}

自定义操作

reduce 函数还可以使用自定义的二元操作函数。下面计算数组中所有元素的乘积:

#include <iostream>
#include <vector>
#include <numeric>
int main() {vector<int> numbers = {1, 2, 3, 4, 5};int ret= reduce(numbers.begin(), numbers.end(), 1, [](int a, int b) {return a * b;});cout << "ret: " << ret<< endl;return 0;
}

并行化

从 C++17 开始,reduce 支持并行化执行,加速计算。

#include <iostream>
#include <vector>
#include <numeric>
#include <execution>
int main() {vector<int> numbers = {1, 2, 3, 4, 5};// 使用并行策略int sum = reduce(std::execution::par, numbers.begin(), numbers.end());cout << "Sum (parallel): " << sum << endl;return 0;
}

3. 简单练习

使用 reduce 函数计算以所有元素的平方和:

#include <iostream>
#include <vector>
#include <numeric>int main() {std::vector<int> numbers = {1, 2, 3, 4, 5};int sum_of_squares = reduce(numbers.begin(), numbers.end(), 0, [](int a, int b) {return a + b * b;});std::cout << "Sum of squares: " << sum_of_squares << std::endl;return 0;
}

使用 reduce 函数和并行策略计算以下数组中所有元素的最大值:

std::vector<int> numbers = {1, 3, 91, 12, 4};
#include <iostream>
#include <vector>
#include <numeric>
#include <execution>int main() {std::vector<int> numbers = {10, 20, 30, 40, 50};int max_value = reduce(std::execution::par, numbers.begin(), numbers.end(), numbers[0], [](int a, int b) {return a > b ? a : b;});std::cout << "Maximum value: " << max_value << std::endl;return 0;
}

在这里插入图片描述

http://www.dtcms.com/a/564013.html

相关文章:

  • 怎样生成链接郑州seo课程
  • 建设网站大全成都建设局官网
  • 求制作网站东风地区网站建设公司
  • 安徽省城乡住房建设厅网站用中文模版可以做英文网站吗
  • 深圳设计网站速成班o2o模式免费ppt模板
  • 网站建设创新成果河南男科医院排名榜
  • 石家庄网站建设多少钱网站双倍浮动
  • 北京好网站制作公司哪家好视频链接生成网站
  • 做网站和软件哪个挣钱网站建设对企业的作用
  • 商城网站建设策划方案唐山网站建设七彩科技
  • 智能建站平台z许昌做网站优化
  • 医药网站如何做网络推广高端网站建设域名注册
  • 图书馆网站建设教程广州企业网站设计公司
  • 设计官方网站湖南省建设工程造价管理协会网站
  • 创建网站忘记了怎么办做常识的网站
  • 广州 环保 凡人网站建设建设网站好公司哪家好
  • 网站如何导入百度地图常州网站公司怎么选
  • 洪梅镇网站仿做安庆做网站电话
  • 网站建设走什么科目wordpress积分充值
  • 联想官方服务网站龙岗优化网站建设
  • 使用flash做网站云服务器能干啥
  • 网站建设设计广州网站模板及源码
  • ac86u做网站服务器wordpress前端用户中心投稿
  • 免费下载素材的设计网站网站定位 怎么做
  • 学网站开发去哪学投资加盟
  • 上海中小网站建设建设企业网站企业
  • 邯郸网站设计培训班wordpress怎么进行页面修改
  • 安全的网站建设公站内优化
  • 做网站干什么用网站备案多少岁可以做
  • 恒基建设集团网站地址十堰建网站