我有一个双打矢量,我需要创建另一个数组,它是第一个元素的累积和。例如;
vector<double> Array(10,1);
vector<double> Sum(10);
Sum[0] = Array[0];
for(unsigned int i=1; i<Array.size(); i++)
Sum[i] = Sum[i-1] + Array[i];
是否有内置功能可以执行上述累积总和?
答案 0 :(得分:21)
没有经过测试,比如
std::partial_sum(Array.begin(), Array.end(), Sum.begin(), plus<double>());
应该可以解决问题。 (实际上,plus<double>()
可以默认为it seems。)