adjacent_difference関数
http://www.geocities.jp/ky_webid/cpp/library/023.html
各要素間の差を求めます。
これも実装例を見たほうが早いですね。
#include <iostream> #include <numeric> #include <vector> using namespace std; int main () { vector<int> data1; vector<int> data2; data1.push_back(10); data1.push_back(50); data1.push_back(1000); adjacent_difference(data1.begin(),data1.end(),back_inserter(data2)); copy(data2.begin(),data2.end(),ostream_iterator<int>(cout,"\n")); return 0; }
$ main 10 40 950
初めは10。次は50と10の差で40。で最後は1000と50の差を求めて950となる感じです。
ちなみにpartial_sumと違って差分結果が加算されていくわけではなく、あくまでも各要素の差を求めるだけなので最後の要素は960ではなく950となります。