C++ Map Library - erase() Function


Advertisements

Description

The C++ function std::map::erase() removes single element of the map from position.

This member function decreases size of map by one.

Declaration

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

C++11

iterator erase (const_iterator position);

Parameters

position − Iterator to the element to remove.

Return value

Returns an iterator following the last removed element.

Exceptions

This member function doesn't throw exception.

Time complexity

Logarithmic i.e. log(n).

Example

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

#include <iostream>
#include <map>

using namespace std;

int main(void) {
   /* Initializer_list constructor */
   map<char, int> m = {
            {'a', 1},
            {'b', 2},
            {'c', 3},
            {'d', 4},
            {'e', 5},
            };

   cout << "Map contains following elements before erase operation" << endl;

   for (auto it = m.begin(); it != m.end(); ++it)
      cout << it->first << " = " << it->second << endl;

   auto it = m.erase(m.begin());

   cout << "Map contains following elements after erase operation" << endl;

   for (auto it = m.begin(); it != m.end(); ++it)
      cout << it->first << " = " << it->second << endl;

   cout << "After erase operation iterator points to = " << it->first << endl;

   return 0;
}

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

Map contains following elements before erase operation
a = 1
b = 2
c = 3
d = 4
e = 5
Map contains following elements after erase operation
b = 2
c = 3
d = 4
e = 5
After erase operation iterator points to = b
map.htm
Advertisements