第九章(15):STL之常用算术生成算法

简介: 第九章(15):STL之常用算术生成算法

前情回顾


在上一块石碑中,我学会了怎么使用常用的替换算法,同时下一块石碑也显露出来…


🚄上章地址:第九章(14):STL之常用拷贝和替换算法


常用算术生成算法


在STL的算法最开始的时候讲过,对于大部分的算法是在头文件:algorithm当中,但是还有少部分算法在别的头文件当中,常用的算术生成就在另一个头文件当中,这个头文件是:

numeric

常用的算术生成算法有两种:

accumulate //计算容器内元素累计总和;
fill //像容器中添加元素


accumulate


accumulate,他可以返回容器内的元素累计的总和,返回的值类型是int,需要给它一个初始值,它是从这个初始值开始加的,如果不需要初始值,就给0

accumulate(beg,end,value);


beg是统计区间的开始迭代器,end是结束迭代器,value就是初始值

使用:


#include<iostream>
using namespace std;
#include<numeric>
#include<vector>
void test1()
{
  vector<int> a;
  int add = 0;
  for (int i = 0; i < 10; i++)
  {
  a.push_back(i);
  add += i;
  }
  cout << add << endl;
  cout << accumulate(a.begin(), a.end(), 0) << endl;
  cout << accumulate(a.begin(), a.end(), 5) << endl;
}
int main()
{ 
  test1();
  return 0;
}

0a2653c851af460fa595bd959398a8f1.png


fill


fill可以向容器填充指定的元素

fill(beg,end,value);


beg是填充区间的开始迭代器,end是结束迭代器,value就是填充值

使用:


#include<iostream>
using namespace std;
#include<numeric>
#include<vector>
void print(vector<int> &a)
{
  for (auto b = a.begin();b < a.end(); b++)
  {
  cout << *b << " ";
  }
  cout << endl;
}
void test1()
{
  vector<int> a;
  a.resize(10);
  print(a);
  fill(a.begin(), a.end(), 10);
  print(a);
}
int main()
{
  test1();
  return 0;
}

0eacb84100b54626af849e6b562bf92a.png


下一座石碑


这座石碑倒下了,露出了下一座石碑…


😘预知后事如何,关注新专栏,和我一起征服C++这座巨塔

🚀专栏:C++爬塔日记

🙉都看到这里了,留下你们的👍点赞+⭐收藏+📋评论吧🙉


相关文章
|
4月前
|
算法 前端开发 Linux
【常用技巧】C++ STL容器操作:6种常用场景算法
STL在Linux C++中使用的非常普遍,掌握并合适的使用各种容器至关重要!
77 10
|
3月前
|
算法 C++
STL算法大全
以上只是一部分STL算法的简单概述,每一个算法都有其特定的使用场景和规则,具体使用时需要参考相关文档或者教程进行深入理解和学习。
28 0
|
4月前
|
算法 搜索推荐 C++
C++之STL常用算法(遍历、查找、排序、拷贝、替换、算数生成、集合)
C++之STL常用算法(遍历、查找、排序、拷贝、替换、算数生成、集合)
|
5月前
|
算法 C++ 容器
黑马c++ STL常用算法 笔记(5) 常用算术生成算法
黑马c++ STL常用算法 笔记(5) 常用算术生成算法
|
5月前
|
算法 C++
c++算法学习笔记 (21) STL
c++算法学习笔记 (21) STL
|
5月前
|
算法 C++ 容器
黑马c++ STL常用算法 笔记(6) 常用集合算法
黑马c++ STL常用算法 笔记(6) 常用集合算法
|
2天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA遗传优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真
该算法结合了遗传算法(GA)与分组卷积神经网络(GroupCNN),利用GA优化GroupCNN的网络结构和超参数,提升时间序列预测精度与效率。遗传算法通过模拟自然选择过程中的选择、交叉和变异操作寻找最优解;分组卷积则有效减少了计算成本和参数数量。本项目使用MATLAB2022A实现,并提供完整代码及视频教程。注意:展示图含水印,完整程序运行无水印。
|
1天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于MSER和HOG特征提取的SVM交通标志检测和识别算法matlab仿真
### 算法简介 1. **算法运行效果图预览**:展示算法效果,完整程序运行后无水印。 2. **算法运行软件版本**:Matlab 2017b。 3. **部分核心程序**:完整版代码包含中文注释及操作步骤视频。 4. **算法理论概述**: - **MSER**:用于检测显著区域,提取图像中稳定区域,适用于光照变化下的交通标志检测。 - **HOG特征提取**:通过计算图像小区域的梯度直方图捕捉局部纹理信息,用于物体检测。 - **SVM**:寻找最大化间隔的超平面以分类样本。 整个算法流程图见下图。
|
1天前
|
算法 决策智能
基于禁忌搜索算法的VRP问题求解matlab仿真,带GUI界面,可设置参数
该程序基于禁忌搜索算法求解车辆路径问题(VRP),使用MATLAB2022a版本实现,并带有GUI界面。用户可通过界面设置参数并查看结果。禁忌搜索算法通过迭代改进当前解,并利用记忆机制避免陷入局部最优。程序包含初始化、定义邻域结构、设置禁忌列表等步骤,最终输出最优路径和相关数据图表。
|
2天前
|
编解码 算法 数据挖掘
基于MUSIC算法的六阵元圆阵DOA估计matlab仿真
该程序使用MATLAB 2022a版本实现基于MUSIC算法的六阵元圆阵DOA估计仿真。MUSIC算法通过区分信号和噪声子空间,利用协方差矩阵的特征向量估计信号到达方向。程序计算了不同角度下的MUSIC谱,并绘制了三维谱图及对数谱图,展示了高分辨率的DOA估计结果。适用于各种形状的麦克风阵列,尤其在声源定位中表现出色。