C++ Unordered_map Library - insert() Function


The C++ function std::unordered_map::insert() extends container by inserting new element in unordered_map. This member function increases container size by one.


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


iterator insert(const_iterator position, const value_type& val);


  • 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.


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

#include <iostream>
#include <unordered_map>

using namespace std;

int main(void) {
   unordered_map<char, int> um = {
            {'b', 2},
            {'c', 3},
            {'d', 4},

   um.insert(um.begin(), pair<char, int>('a', 1));
   um.insert(um.end(), pair<char, int>('e', 5));

   cout << "Unordered map contains following elements" << endl;

   for (auto it = um.begin(); it != um.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 map contains following elements
e = 5
a = 1
d = 4
b = 2
c = 3