Vector

  • Dynamic array
  • Its elements are placed in contiguous storage
  • The container uses an allocator object to dynamically handle its storage needs.
#include <vector>

vector <int> numbers;
// inset element - O(1)
for(int i=0; i<10; i++){ 
	numbers.push_back(i);
}
// Size
cout << numbers.size() << endl; 

// Size of the storage space currently allocated to the vector
cout << "Capacity : " << numbers.capacity() << endl; 

// Maximum number of elements that the vector can hold
cout << "Max_Size : " << numbers.max_size() << endl;

// Resize
numbers.resize(20);

// Iterating over the vector
vector <int>::iterator it;
cout << "The vector contains: ";
for (it=numbers.begin(); it!=numbers.end(); it++) {
cout << "  " << *it;
}

// Get value at given index
int index = 10;
cout << numbers.at(index) <<endl;

// Deleting an element at position
numbers.erase(numbers.begin() + position);
	
// Delete first two elements
numbers.erase(numbers.begin(), numbers.begin()+2);
	
// Clear the vector
numbers.clear();
if (numbers.empty()){
    cout << "Vector is empty" << endl;
}