#include<iostream>
#include<vector>
#include<list>
#include<forward_list>
#include<set>
#include<map>
using namespace std;
int main()
{
vector<int> p={1,2,3,4,5,6};
vector<int>::iterator itr=p.begin();
itr = itr + 5;
cout<<*itr<<endl;
itr = itr - 4;
cout<<*itr<<endl;
list<int> p2 = {1,2,3};
list<int>::iterator itr2 = p2.begin();
++itr2;
cout<<*itr2<<endl;
--itr2;
cout<<*itr2<<endl;
forward_list<int> p3 = {1,2,3};
auto itr3 = p3.begin();
++itr3;
cout<<*itr3<<endl;
set<int>::iterator itr4;
set<int>::const_iterator citr4;
set<int> set1 = {2,4,5,1,9};
for(citr4=set1.begin();citr4!=set1.end();++citr4)
cout<<*citr4<<" ";
advance(itr3,1);
cout<<endl;
cout<<*itr3<<endl;
cout<<distance(itr3,itr3)<<endl;
/* vector<int> vec1 = {4,5};
vector<int> vec2 = {12,14,16,18};
vector<int>::iterator it = find(vec2.begin(),vec2.end(),16);
insert_iterator<vector<int>> i_itr(vec2,it);
copy(vec1.begin(),vec1.end(),
i_itr); */
vector<int> vec3 = {4,5,6,7};
reverse_iterator<vector<int>::iterator> ritr;
for(ritr=vec3.rbegin();ritr!=vec3.rend();++ritr)
cout<<*ritr<<" ";
system("pause");
return 0;
}