Reverse iterators : vector 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; 

  // Create bidirectional iterator 
  vector<double>::reverse_iterator ri; 

  // Traverse reverse forward 
  cout << "Traverse reverse forward" << endl; 
  ri=vector1.rbegin();          // Set iterator 
  while (ri!=vector1.rend()) cout << (*ri++) << " "; 
  cout << endl << endl; 

  // Traverse reverse backward 
  cout << "Traverse reverse backward" << endl; 
  ri=(vector1.rend()); 
  do 
  { 
    cout << (*--ri) << " "; 
  } 
  while (ri!=vector1.rbegin()); 
  cout << endl << endl; 

  // Traverse reverse random 
  cout << "Traverse reverse random" << endl; 
  cout << *ri << " ";               // First element 
  cout << *(ri+=3) << " ";        // 1+3 is 4th element 
  cout << *(ri-=1) << " ";        // 4-1 is third element 
  cout << ri[-1] << " ";          // 3-1 is second element 
  cout << ri[1] << endl << endl;  // 3+1 is fourth element 

}








16.19.vector iterator
16.19.1.Display contents of vector through an iterator
16.19.2.Use const_iterator to loop through the vector
16.19.3.Change contents of vector through an iterator
16.19.4.iterators for vector
16.19.5.Declare an iterator to a vector
16.19.6.Obtain an iterator to the start of vector
16.19.7.Cycle through v in the forward direction using an iterator.
16.19.8.Cycle through v in the reverse direction using a reverse_iterator.
16.19.9.See if iterator is still in the same spot of memory
16.19.10.Loop through all elements in a vector in reverse order by using rbegn, rend
16.19.11.Reverse iterators
16.19.12.Const iterators
16.19.13.Converting Between Iterators and Indexes in a Vector