/*
created by Rian Adam Rajagede
31 July 2020
*/
#include <iostream>
#include <vector>
using namespace std;
int main() {
cout << "=====================Section A======================" << endl;
cout << "====================================================" << endl;
// vector of int
vector<int> v;
cout << "Initial vector size:" << v.size() << endl; // vector is empty
v.push_back(3);
v.push_back(1);
v.push_back(7);
cout << "New vector size:" << v.size() << endl; // vector size is 3 [3, 1, 7]
cout << "v[0]:" << v[0] << endl;
cout << "v[1]:" << v[1] << endl;
cout << "v[2]:" << v[2] << endl;
cout << "front:" << v.front() << endl;
cout << "back:" << v.back() << endl;
cout << "=====================Section B======================" << endl;
cout << "====================================================" << endl;
vector<int> v2;
cout << "Initial vector size:" << v2.size() << endl; // vector is empty
v2.assign(100,2);
cout << "New vector size:" << v2.size() << endl; // vector size is 100
cout << "v[0]:" << v2[0] << endl;
cout << "v[1]:" << v2[1] << endl;
cout << "v[2]:" << v2[2] << endl;
cout << "front:" << v2.front() << endl;
cout << "back:" << v2.back() << endl;
cout << "=====================Section C======================" << endl;
cout << "====================================================" << endl;
for(int i=0;i<v.size();i++) cout << v[i] << " "; cout << endl; // print elements of v
v.insert(v.begin(), 2); // insert in the first position
for(int i=0;i<v.size();i++) cout << v[i] << " "; cout << endl; // print elements of v
v.insert(v.begin()+1, 8); // insert in the first position+1
for(int i=0;i<v.size();i++) cout << v[i] << " "; cout << endl; // print elements of v
v.insert(v.end(), 0); // insert in the last position
for(int i=0;i<v.size();i++) cout << v[i] << " "; cout << endl; // print elements of v
v.insert(v.end()-1, 6); // insert in the last position-1
for(int i=0;i<v.size();i++) cout << v[i] << " "; cout << endl; // print elements of v
cout << "=====================Section D======================" << endl;
cout << "====================================================" << endl;
for(int i=0;i<v.size();i++) cout << v[i] << " "; cout << endl; // print elements of v
v.erase(v.begin()+2); // delete 1 elements in position 2
for(int i=0;i<v.size();i++) cout << v[i] << " "; cout << endl; // print elements of v
v.erase(v.begin()+1, v.begin()+4); // delete 3 elementa, position 1, 2, and 3
for(int i=0;i<v.size();i++) cout << v[i] << " "; cout << endl; // print elements of v
cout << "=====================Section E======================" << endl;
cout << "====================================================" << endl;
v.clear();
cout << "Size after cleared:" << v.size() << endl;
return 0;
}