Fill elements in a vector with custom generator : Algorithm « vector « C++ Tutorial






#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int Fibonacci(void){
  static int r;
  static int f1 = 0;
  static int f2 = 1;
  r = f1 + f2;
  f1 = f2;
  f2 = r;
  return f1;
}

int main(void){
  const int VECTOR_SIZE = 15;
  typedef vector<int> IntVector;
  typedef IntVector::iterator IntVectorIt;

  IntVector Numbers(VECTOR_SIZE);
  IntVectorIt start, end , it;
  int i;

  for(i = 0; i < VECTOR_SIZE; i++)
    Numbers[i] = i * i;

  start = Numbers.begin();
  end = Numbers.end();

  for (it = start; it != end; it++)
    cout << *it << " ";
  generate_n(start + 5, Numbers.size() - 5, Fibonacci);

  for (it = start; it != end; it++)
  cout << *it << " ";
}








16.32.Algorithm
16.32.1.Using the for_each() Algorithm
16.32.2.find_if, bind2nd and greater_equal
16.32.3.Mutating Sequence Algorithm
16.32.4.Use the count_if algorithm with the unary predicate IsEven
16.32.5.Use count to determine the number of '0's in the vector
16.32.6.merge the elements of NumbersVestor and NumbersList and place the results in NumbersDeque
16.32.7.shuffle the elements in a random order
16.32.8.Fill elements in a vector with custom generator
16.32.9.random number generation in quantitative finance
16.32.10.Inner product of a vector and another vector
16.32.11.The adjacent difference of the vector
16.32.12.for_each element in a vector apply custom function
16.32.13.Find the first element in the range (first, last + 1) that matches value