# Competitive Programming Tools 1. ## Vector ### Vectors are the same as the dynamic arrays but it is speacial type of arrays because `it has the ability to resize it self automatically when an element is inserted or deleted.` ## :+1: **Example**: #### `A simple way to insert data and output data in vector.` ```python=1 vector<int> v; // vector initializing; // vector<data_type>data_name; for (int i = 0; i < 10; i++) v.push_back(i); // push_back(input); for (int i = 0; i < 10; i++) cout << v[i] << " "; // showing output; ``` :::success ### **Output:** `0 1 2 3 4 5 6 7 8 9` ::: ## :+1: **Example**: #### `We can insert data and show output in this way also.` ```python=1 vector<int> v(10); // vector initializing; // vector<data_type>data_name(size); for (auto &i : v) { cin >> i; // it will take input from the input field in the vector what we declared in the loop// } for (auto i : v) { cout << i << " "; // it will show the output from begin() to end() of the vector what we declared in the loop// } ``` :::success ### **Input:** `0 1 2 3 4 5 6 7 8 9` ### **Output:** `0 1 2 3 4 5 6 7 8 9` ::: ## **`Some important functions of vector`** :::warning 1. font();-> Returns a reference to the first element in the vector 2. back();-> Returns a reference to the last element in the vector 3. rbegin();-> Returns a reverse iterator pointing to the last element in the vector (reverse beginning). It moves from last to first element 4. rend();-> Returns a reverse iterator pointing to the theoretical element preceding the first element in the vector (considered as reverse end) 5. empty();-> Returns whether the container is empty. 6. erase();-> It is used to remove elements from a container from the specified position or range. 7. clear();-> It is used to remove all the elements of the vector container :::