常用算术生成算法
注意:
- 算术生成算法属于小型算法,使用时包含头文件为#include< numeric >
算法简介;
- accumulate //计算容器中元素累加总和
- fill //向容器中添加元素
accumulate
功能:
- 计算容器中元素累加总和
函数原型:
- accumulate(tierator beg, iterator end, value);
//beg为起始迭代器
//end为结束迭代器
//value为起始值
示例:
#include<iostream>
#include<vector>
#include<numeric>
using namespace std;
//accumulate
void _01Test01()
{
vector<int> v;
for (int i = 1; i <= 100; i++)
{
v.push_back(i);
}
int total=0;
total=accumulate(v.begin(), v.end(),100);
cout << "总和为:" << total << endl;
}
void main()
{
_01Test01();
}
fill
功能:
- 向容器中填充自定的元素
函数原型:
- fill(iterator beg, iterator end, value);
//向容器中填充元素
//beg 开始迭代器
//end 结束迭代器
//value 填充的值
示例:
#include<iostream>
#include<vector>
#include<numeric>
#include<algorithm>
using namespace std;
//fill
void show(int& num)
{
cout << num << " ";
}
void _02Test01()
{
vector<int> v;
v.resize(10);
fill(v.begin(), v.end(), 100);
for_each(v.begin(), v.end(), show);
cout << endl;
}
void main()
{
_02Test01();
}