19

我有一个双精度向量,我需要创建另一个数组,它是第一个元素的累积和。例如;

 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]; 

是否有一个内置函数可以执行上述累积和?

4

1 回答 1

34

未经测试,类似

std::partial_sum(Array.begin(), Array.end(), Sum.begin(), plus<double>());

如果它是 C++,应该可以解决问题。(实际上,似乎plus<double>()可以默认。)

于 2010-07-20T09:10:48.190 回答