我有一个双精度向量,我需要创建另一个数组,它是第一个元素的累积和。例如;
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];
是否有一个内置函数可以执行上述累积和?
我有一个双精度向量,我需要创建另一个数组,它是第一个元素的累积和。例如;
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];
是否有一个内置函数可以执行上述累积和?
未经测试,类似
std::partial_sum(Array.begin(), Array.end(), Sum.begin(), plus<double>());
如果它是 C++,应该可以解决问题。(实际上,似乎plus<double>()
可以默认。)