C++ Vector Library - erase() Function


Advertisements

Description

The C++ function std::vector::erase() removes range of element from the the vector.

This member function modifies size of vector.

Declaration

Following is the declaration for std::vector::erase() function form std::vector header.

C++98

iterator erase (iterator first, iterator last);

C++11

iterator erase (const_iterator first, const_iterator last);

Parameters

  • first − Input iterator to the initial position in range.

  • last − Input iterator to the final position in range.

Return value

Returns a random access iterator.

Exceptions

If range is invalid then behavior is undefined.

Time complexity

Linear i.e. O(n)

Example

The following example shows the usage of std::vector::erase() function.

#include <iostream>
#include <vector>

using namespace std;

int main(void) {
   vector<int> v = {1, 2, 3, 4, 5};

   cout << "Original vector" << endl;
   for (auto it = v.begin(); it != v.end(); ++it)
      cout << *it << endl;

   /* Remove first two element */
   v.erase(v.begin(), v.begin() + 2);

   cout << "Modified vector" << endl;
   for (auto it = v.begin(); it != v.end(); ++it)
      cout << *it << endl;

   return 0;
}

Let us compile and run the above program, this will produce the following result −

Original vector
1
2
3
4
5
Modified vector
3
4
5
vector.htm
Advertisements