C++ Map Library - erase() Function


Advertisements

Description

The C++ function std::multimap::erase() removes mapped value associated with key k.

Declaration

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

C++98

size_type erase (const key_type& k);

C++11

size_type erase (const key_type& k);

Parameters

k − Key of the element to be removed.

Return value

Returns number of elements removed.

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},
         };
   size_t ret;

   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;

   ret = m.erase('a');

   cout << "Number of value removed are = " << ret << endl;

   cout << endl;

   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

Number of value removed are = 2

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