accumulate
来源:互联网 发布:mac os x 懒人版下载 编辑:程序博客网 时间:2024/05/16 11:25
C++ STL中有一个通用的数值类型计算函数— accumulate(),可以用来直接计算数组或者容器中C++内置数据类型,例如:
#include <numeric>int arr[]={10,20,30,40,50};
vector<int> va(&arr[0],&arr[5]);
int sum=accumulate(va.begin(),va.end(),0); //sum = 150,默认操作是"累加"
实例一:#include <iostream>#include <numeric>using namespace std;int main() { int x[] = {1,2,3,4,5}; // 1 * 2 * 3 * 4 * 5 and * 1 int sum = accumulate(x, x+5, 1, multiplies<int>()); cout << "sum = " << sum << endl; // 1 * 2 * 3 * 4 * 5 and * 2 sum = accumulate(x, x+5, 2, multiplies<int>()); cout << "sum = " << sum << endl; // 2 * 3 * 4 and * 10 sum = accumulate(x+2, x+4, 10, multiplies<int>()); cout << "sum = " << sum << endl;system("pause"); return 0;}/*Output:sum = 120sum = 240sum = 120请按任意键继续. . .*/实例二:#include <iostream>#include <numeric>#include <vector>#include <string>using namespace std;struct Student{ string name; int total;};class PS{ public: int operator()(int t1,const Student& t2) { return (t1 + t2.total); } };int main(){ Student student[3]={ {"hicjiajia",10}, {"sijikaoshi",20}, {"what",40} }; int sum=accumulate(&student[0],&student[3],0,PS()); cout<<"sum = "<<sum<<endl; system("pause"); return 0;}/*Output:sum = 70请按任意键继续. . .*/
- accumulate
- accumulate
- accumulate
- accumulate算法
- STL-----------accumulate
- STL:accumulate
- accumulate() demo
- 求和:accumulate
- JSONObject accumulate
- accumulate函数
- STL accumulate
- max_element、min_element、accumulate
- accumulate的用法
- std::transform || inner_product || accumulate
- accumulate,inner_product,partial_sum,adjacent_difference
- accumulate everyday:grep()函数
- stl accumulate transform
- accumulate函数用法
- 关于我,关于这篇博客
- Oracle9i、10g、11g区别
- 数据库视图的强大
- http://acm.hdu.edu.cn/showproblem.php?pid=2159
- vsftp上传文件出现553 Could not create file解决方法 (包括匿名用户)
- accumulate
- spring.net配置错误:Could not load type from string value ...
- 查看当前SqlServer数据库连接数
- Android开发之四(二):常用控件之列表(ListView)
- Android NDK使用NEON优化,SIMD优化
- 各种创建单例模式的优缺点
- 企业开发平台到底该怎么做
- DLL中传递STL参数,vector对象作为dll参数传递等问题(转) (坑死我了)
- 详解如何搭建DHCP服务器