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

【C++】从0到1入门C++编程学习笔记 - 提高编程篇:STL常用算法(算术生成算法)

文章目录

  • 一、accumulate
  • 二、fill


学习目标:

  • 掌握常用的算术生成算法

注意:

  • 算术生成算法属于小型算法,使用时包含的头文件为 #include <numeric>

算法简介:

  • accumulate // 计算容器元素累计总和

  • fill // 向容器中添加元素


一、accumulate

功能描述:

  • 计算区间内 容器元素累计总和

函数原型:

  • accumulate(iterator beg, iterator end, value);

    // 计算容器元素累计总和

    // beg 开始迭代器

    // end 结束迭代器

    // value 起始值

示例:

#include <numeric>
#include <vector>
void test01()
{vector<int> v;for (int i = 0; i <= 100; i++) {v.push_back(i);}int total = accumulate(v.begin(), v.end(), 0);cout << "total = " << total << endl;
}int main() {test01();system("pause");return 0;
}

总结:accumulate使用时头文件注意是 numeric,这个算法很实用


二、fill

功能描述:

  • 向容器中填充指定的元素

函数原型:

  • fill(iterator beg, iterator end, value);

    // 向容器中填充元素

    // beg 开始迭代器

    // end 结束迭代器

    // value 填充的值

示例:

#include <numeric>
#include <vector>
#include <algorithm>class myPrint
{
public:void operator()(int val){cout << val << " ";}
};void test01()
{vector<int> v;v.resize(10);//填充fill(v.begin(), v.end(), 100);for_each(v.begin(), v.end(), myPrint());cout << endl;
}int main() {test01();system("pause");return 0;
}

总结:利用fill可以将容器区间内元素填充为 指定的值

http://www.lryc.cn/news/1516.html

相关文章:

  • 【C++】static成员
  • Python Scrapy 爬虫简单教程
  • 【DOCKER】容器概念基础
  • 第九层(16):STL终章——常用集合算法
  • 一起学习用Verilog在FPGA上实现CNN----(六)SoftMax层设计
  • pixhawk2.4.8-APM固件-MP地面站配置过程记录
  • 【unity细节】关于资源商店(Package Maneger)无法下载资源问题的解决
  • [Arxiv 2022] A Novel Plug-in Module for Fine-Grained Visual Classification
  • RocketMQ Broker消息处理流程及部分源码解析
  • Java面试题:Java集合框架
  • 时间之间的比较与计算相差年、月、日、小时、分钟、毫秒、纳秒以及判断闰年--LocalDateTime
  • PyTorch学习笔记:nn.L1Loss——L1损失
  • Java程序设计-ssm企业财务管理系统设计与实现
  • 疑难杂症篇(二十一)--Ubuntu18.04安装usb-cam过程出现的问题
  • npm-npm i XX --save 和--save-dev
  • 可重构或可调谐微波滤波器技术
  • 医院智能化解决方案-门(急)诊、医技、智能化项目解决方案
  • 判断元素是否在可视区域
  • 告别传统繁杂的采购合同管理 打造企业自动化采购管理模式
  • 【prism】路由事件映射到Command命令
  • 面向对象的基本概念和方法
  • 数据可视化大屏百度地图绘制行政区域标注实战案例解析(个性化地图、标注、视频、控件、定位、检索)
  • 1.面向对象和类的关系?2.什么是Promise、3.Promise和async、await的关系
  • 【程序化天空盒】过程记录01:日月 天空渐变 大气散射
  • 无线通信中的轨道角动量
  • 以后更新功能,再也不用App发版了!智能小程序将为开发者最大化减负
  • C++之类模板全特化和偏特化
  • Python 手写数字识别 MNIST数据集下载失败
  • 华为机试题:HJ61 放苹果(python)
  • 【论文速递】ICCV2021 - 基于超相关压缩实现实时高精度的小样本语义分割