#include <iostream>
#include <vector>
#include <list>

using std::cout;
using std::vector;
using std::list;
using std::endl;


int main(){
    
    vector <int> iVec;
    list <int> iList;
    list <int>::iterator lIter;
    list <int>::reverse_iterator rIter;
    list <int> iList2;
    
    for(int i=0; i<10; i++){
        iVec.push_back(i);
        iList.push_back(i);
        iList2.push_front(i);
    }
    
    
    cout << "\nVector output: \n\n";
    for(int i=0; i<10; i++){
        cout << iVec[i] <<endl; //Random access
    }
    
    
    cout << "\nList 1 output: \n\n";
    for(lIter=iList.begin(); lIter != iList.end() ; lIter++){
        cout << *lIter <<endl;
    }
    
     
    
    
    
    cout << "\nList 2 output: \n\n";
    for(lIter=iList2.begin(); lIter != iList2.end() ; lIter++){
        cout << *lIter <<endl;
    }
    
    
    

    return 0;
}
