STL之算术和生成算法
1.accumulate()
accumulate: 对指定范围内的元素求和,然后结果再加上一个由val指定的初始值。
#include<numeric>
vector<int> vecIntA;
vecIntA.push_back(1);
vecIntA.push_back(3);
vecIntA.push_back(5);
vecIntA.push_back(7);
vecIntA.push_back(9);
int iSum = accumulate(vecIntA.begin(), vecIntA.end(), 100); //iSum==125
2.fill()
fill: 将输入值赋给标志范围内的所有元素。
vector<int> vecIntA;
vecIntA.push_back(1);
vecIntA.push_back(3);
vecIntA.push_back(5);
vecIntA.push_back(7);
vecIntA.push_back(9);
fill(vecIntA.begin(), vecIntA.end(), 8); //8, 8, 8, 8, 8
3.综合代码
void main55_accumulate()
{
vector<int> v1;
v1.push_back(1);
v1.push_back(3);
v1.push_back(5);
int tmp = accumulate(v1.begin(), v1.end(), 100);
cout << tmp << endl;
}
void main56_fill()
{
vector<int> v1;
v1.push_back(1);
v1.push_back(3);
v1.push_back(5);
fill(v1.begin(), v1.end(), 8);
printV(v1);
}