#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; // Traverse random cout << "Traverse random" << 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 // Create bidirectional iterator vector<double>::reverse_iterator ri; // 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 }