C++ Unordered_multimap Library - erase() Function


Advertisements

Description

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

This member function decreases size of unordered_multimap by one.

Declaration

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

C++11

iterator erase(const_iterator position);

Parameters

position − Iterator to the element to remove.

Return value

Returns an iterator pointing to the position immediately following the last of the elements erased.

Time complexity

Linear i.e. O(n)

Example

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

#include <iostream>
#include <unordered_map>

using namespace std;

int main(void) {
   unordered_multimap<char, int> umm = {
            {'a', 1},
            {'b', 2},
            {'c', 3},
            {'d', 4},
            {'e', 5}
            };

   cout << "Unordered_multimap contains following elements "
        << "before remove operation" << endl;

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

   cout << endl;

   umm.erase(umm.begin());

   cout << "Unordered_multimap contains following elements "
        << "after remove operation" << endl;

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

   return 0;
}

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

Unordered_multimap contains following elements before remove operation
e = 5
a = 1
b = 2
c = 3
d = 4
Unordered_multimap contains following elements after remove operation
a = 1
b = 2
c = 3
d = 4
unordered_map.htm
Advertisements