Vectors are dynamic arrays in C++ and are part of the Standard Template Library (STL). They are similar to arrays, but the size of a vector can be changed during runtime, making them more flexible than arrays. Vectors also provide many built-in functions to perform various operations, making them easier to use.
Creating a Vector
A vector can be created by specifying its data type and size, or by using the default constructor which creates an empty vector. Here is an example of both methods:
#include <iostream> #include <vector> using namespace std; int main() { // Creating a vector with size and data type vector<int> v1(5); // Creating an empty vector vector<float> v2; return 0; }
Accessing Vector Elements
Elements in a vector can be accessed using the square bracket notation, just like an array. Here is an example:
#include <iostream> #include <vector> using namespace std; int main() { vector<int> v = {1, 2, 3, 4, 5}; // Accessing elements using square bracket notation cout << "Element at index 0: " << v[0] << endl; cout << "Element at index 1: " << v[1] << endl; cout << "Element at index 2: " << v[2] << endl; return 0; }
Output:
Element at index 0: 1 Element at index 1: 2 Element at index 2: 3
Adding Elements to a Vector
Elements can be added to a vector using the push_back function. Here is an example:
#include <iostream> #include <vector> using namespace std; int main() { vector<int> v; // Adding elements to the vector v.push_back(10); v.push_back(20); v.push_back(30); // Printing the elements in the vector for (int i = 0; i < v.size(); i++) { cout << v[i] << " "; } cout << endl; return 0; }
Output:
10 20 30
Removing Elements from a Vector
Elements can be removed from a vector using the pop_back function. This function removes the last element from the vector. Here is an example:
#include <iostream> #include <vector> using namespace std; int main() { vector<int> v = {10, 20, 30, 40, 50}; // Removing the last element v.pop_back(); // Printing the elements in the vector for (int i = 0; i < v.size(); i++) { cout << v[i] << " "; } cout << endl; return 0; }
Output:
10 20 30 40
Vector Methods
The Standard Template Library (STL) in C++ provides several built-in functions or methods for vectors. Some of the commonly used vector methods are:
push_back(value)
: Adds an element to the end of the vector.pop_back()
: Removes the last element of the vector.clear()
: Removes all the elements of the vector, making it empty.size()
: Returns the number of elements in the vector.empty()
: Returns a boolean value indicating whether the vector is empty or not.resize(n)
: Changes the size of the vector to n. If the new size is larger than the current size, additional elements are added with default values.capacity()
: Returns the maximum number of elements that can be stored in the vector before a reallocation of memory is necessary.reserve(n)
: Requests that the vector’s capacity be at least enough to contain n elements.at(index)
: Returns the element at the specified index.front()
: Returns the first element of the vector.back()
: Returns the last element of the vector.begin()
: Returns an iterator pointing to the first element of the vector.end()
: Returns an iterator pointing to the position after the last element of the vector.swap(v)
: Swaps the contents of the current vector with the contents of v.
Conclusion
In conclusion, vectors are a useful and flexible data structure in C++. With their ability to resize dynamically and various built-in functions, vectors make it easier to perform various operations. Whether you are a beginner or an experienced programmer, vectors are a great tool to have in your toolkit.