C++ Unordered_multimap Library - insert() Function


Advertisements

Description

The C++ function std::unordered_multimap::insert() extends container by inserting new element in unordered_multimap by using move semantics. This function increases container size by one.

Declaration

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

C++11

template <class P>
iterator insert(const_iterator position, P&& val);

Parameters

  • position − Hint for the position to insert element.

  • val − Value to be inserted.

Return value

Returns an iterator pointing to the newly inserted element.

Time complexity

Constant i.e. O(1) in average case.

Linear i.e. O(n) in worst case.

Example

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

#include <iostream>
#include <unordered_map>

using namespace std;

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

   auto pos = umm.insert(umm.begin(), move(pair<char, int>('a', 1)));

   cout << "After inserting new element iterator poinst to "
       << pos->first << " = " << pos->second << endl;

   return 0;
}

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

After inserting new element iterator poinst to a = 1
unordered_map.htm
Advertisements