#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
}
|