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となります。