Traverse reverse backward : vector reverse_iterator « vector « C++ Tutorial






#include <vector> 
#include <iostream> 

using namespace std; 

vector<double> makevector(int size){

  vector<double> result;
  for (int i=1; i<=size; i++) { 
    result.push_back(double(i)); 
  } 
  return result; 
} 

void print(const vector<double>& l) 
{ 

  cout << "Size of vector is: " << l.size() << endl; 

  vector<double>::const_iterator i; 

  for (i=l.begin(); i!=l.end(); i++) 
  { 
    cout << (*i) << " "; 
  } 

  cout << endl; 
} 

int main() 
{ 
  vector<double> vector1=makevector(5); 
  vector<double>::iterator bi; 

  bi=vector1.begin();           // Set iterator 
  while (bi!=vector1.end()) cout << (*bi++) << " "; 

  // Traverse backward 
  bi=(vector1.end()); 
  do { 
    cout << (*--bi) << " "; 
  } 
  while (bi!=vector1.begin()); 
  cout << endl << endl; 

  bi=vector1.begin(); 
  cout << *bi << " ";                // First element 
  cout << *(bi+=3) << " ";           // 1+3 is 4th element 
  cout << *(bi-=1) << " ";           // 4-1 is third element 
  cout << bi[-1] << " ";             // 3-1 is second element 
  cout << bi[1] << endl << endl;     // 3+1 is fourth element 

}








16.23.vector reverse_iterator
16.23.1.Traverse reverse backward
16.23.2.Traverse reverse randomly
16.23.3.Declare a reverse iterator to the vector of char
16.23.4.Use a reverse iterator to show the contents of v in reverse
16.23.5.Illustrating normal and reverse iteration.