C++ Map Library - erase() Function


Advertisements

Description

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

This member function decreases size of multimap by one.

Declaration

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

C++98

void erase (iterator position);

Parameters

position − Iterator to the element to remove.

Return value

None

Exceptions

No effect on container if exception is thrown.

Time complexity

Logarithmic i.e. O(log n)

Example

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

#include <iostream>
#include <map>

using namespace std;

int main(void) {
   /* Multimap with duplicates */
   multimap<char, int> m {
            {'a', 1},
            {'a', 2},
            {'b', 3},
            {'c', 4},
            {'c', 5},
         };

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

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

   cout << endl << endl;

   m.erase(m.begin());

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

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

   return 0;
}

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

Multimap contains following elements before erase operation
a = 1
a = 2
b = 3
c = 4
c = 5

Multimap contains following elements after erase operation
a = 2
b = 3
c = 4
c = 5
map.htm
Advertisements