#include
<numeric>
Out adjacent_difference (In first, In last, Out result) Out adjacent_difference (In first, In last, Out result, Binary op) Out adjacent_difference (Exec pol, In first, In last, Out result) Out adjacent_difference (Exec pol, In first, In last, Out result, Binary op)
Legt die benachbarten Differenzen der Sequenz [first,last) in [result,…) ab.
x1, x2-x1, x3-x2,... x1, x2 op x1, x3 op x2,...
Wird ein zweistelliger Funktor op
eingesetzt, entstehen "verallgemeinerte Differenzen".
Die Verarbeitung der Werte erfolgt nach dem Rechenschema
x1 x2 x3 x4 ... xn | \| \| \| \ \| | - - - - | | | | | v v v v v d1 d2 d3 d4 ... dn
first | Anfang des Bereiches |
last | Ende des Bereiches |
result | Anfang des Ergebnisbereiches |
op | zweistelliges Funktionsobjekt |
Rückgabewert: Iterator auf Ende des Ergebnisbereiches
#include <numeric> #include <iostream> int main() { double arr[] = { 1, 2, 3, 4, 5 }; double diff[5]; std::adjacent_difference(arr, arr+5, diff); std::cout << "Fortlaufende Differenzen von 1 2 3 4 5:\n"; for (auto d : diff) { std::cout << d << ' '; } std::cout << '\n'; }