注意:
算术生成算法属于小型算法,使用时包含的头文件为 #include <numeric>
1. accumulate // 计算容器元素累计总和
2. fill // 向容器中添加元素
1. accumulate // 计算容器元素累计总和
// 常用算术生成算法:accumulate /* 功能描述: 计算区间内 容器元素累计总和 函数原型: accumulate(iterator beg, iterator end, value); // 计算容器元素累计总和 // beg 开始迭代器 // end 结束迭代器 // value 起始值 */ #include <bits/stdc++.h> using namespace std; void print1(int val) { cout << val << " "; } void test01() { vector<int> v1; vector<int> v2; for (int i = 0; i <= 100; i++) { v1.push_back(i); } int num = accumulate(v1.begin(), v1.end(), 0); cout << num; // 5050 } int main() { test01(); } /* 总结: accumulate使用时头文件注意是 numeric,这个算法很实用 */
2. fill // 向容器中添加元素
// 常用算术生成算法:fill /* 功能描述: 向容器中填充指定的元素 函数原型: fill(iterator beg, iterator end, value); // 向容器中填充元素 // beg 开始迭代器 // end 结束迭代器 // value 填充的值 */ #include <bits/stdc++.h> using namespace std; void print1(int val) { cout << val << " "; } void test01() { vector<int> v; v.resize(3); fill(v.begin(), v.end(), 100); for_each(v.begin(), v.end(), print1);//100 100 100 } int main() { test01(); } /* 总结: 利用fill可以将容器区间内元素填充为 指定的值 */