Illustrating the generic adjacent_difference algorithm : array algorithms « STL Introduction « C++ Tutorial






#include <iostream>
#include <cassert>
#include <algorithm>
#include <numeric>
using namespace std;

int main()
{
  const int N = 20;
  int x1[N], x2[N];
  for (int i = 0; i < N; ++i)
    x1[i] = i;

  // Compute the partial sums of 0, 1, 2, 3, ..., N - 1, putting the result inx2:
  partial_sum(&x1[0], &x1[N], &x2[0]);

  // Compute the adjacent differences of elements in x2, placing the result back in x2:
  adjacent_difference(&x2[0], &x2[N], &x2[0]);

  for (int i = 0; i < N; ++i)
      cout << x2[i] << "  ";
  return 0;
}
0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19








14.1.array algorithms
14.1.1.Using the STL generic reverse algorithm with an array
14.1.2.Using reverse_copy to copy the array reversely
14.1.3.Use random_shuffle algorithms with array
14.1.4.Illustrating the generic inner_product algorithm with predicate
14.1.5.Illustrating the generic adjacent_difference algorithm
14.1.6.Illustrating the generic partial_sum algorithm
14.1.7.Use the generic partition algorithms: Partition array1, putting numbers greater than 4 first, followed by those less than or equal to 4
14.1.8.Using function templates to get the max and min value in an array