Open In App

unordered_map insert in C++ STL

Last Updated : 11 Jul, 2025
Comments
Improve
Suggest changes
4 Likes
Like
Report

The std::unordered_map::insert() in C++ STL is a built-in function used to insert a key-value pair in unordered_map container. As unordered maps only store unique elements, this function does not insert elements with duplicate keys. In this article, we will learn about std::unordered_map::insert() in C++.

Example:


Output
4: four
2: two
1: one

unordered_map::insert() Syntax

um.insert({k, v}) // For single element
um.insert(pos, {k, v}) // For single element near pos
um.insert({ {k1, v1}, {k2, v2}, ….}); // For multiple elements
um.insert(first, last); // For range

We can use these overloads for different ways to insert elements in std::map() in C++:

Insert a Single Element

unordered_map::insert() method can be used to insert the single key value pair in std::unordered_map container.

Syntax

um.insert({k, v});

Parameters

  • {k, v}: Key-value pair to be inserted.

Return Value

  • Returns a pair, where pair::first is an iterator to either inserted element or the element with same key in the map.
  • The pair::second tells whether the insertion was successful or not.

Example


Output
2	two
4	four
1	one

Time Complexity: O(1) average, O(n) worst, where n is the number of elements in unordered_map
Auxiliary Space: O(1)

Insert Element Near Given Position

We can also use the unordered_map::insert() function to insert the key-value pair near the given position. The std::unordered_map are stored according to their hash codes. We cannot force the insertion at any particular position, so the given position only gives a hint to unordered_map::insert() function.

Syntax

um.insert(pos, {k, v});

Parameters

  • {k, v}: Key-value pair to be inserted.
  • pos: Iterator to the position near which the new element is to be inserted.

Return Value

  • Returns an iterator pointing to either the inserted element or the element with same key in the map.

Example


Output
2	two
4	four
1	one

Time Complexity: O(1) average, O(n) worst, where n is the number of elements in unordered_map
Auxiliary Space: O(1)

Insert Multiple Elements

We can also use the std::unordered_map::insert() method to insert multiple elements at once using initializer list.

Syntax

um.insert({ {k1, v1}, {k2, v2}, …});

Parameters

  • {k1, v1}, {k2, v2}, …: First pair, second pair and so on inside { } braces.

Return Value

  • This function does not return anything.

Example


Output
4	four
2	two
1	one

Time Complexity: O(k) average, O(n * k) worst, where n is the number of elements in unordered_map.
Auxiliary Space: O(k), where k is the number of elements to be inserted.

Insert Elements from Given Range

The unordered_map::insert() function can also be used to insert elements from the given range. This range can by any STL container or an array.

Syntax

um.insert(first, last);

Parameters

  • first: Iterator to the first element of the range.
  • last: Iterator to the element just after the last element of the range.

Return Value

  • This function does not return anything.

Example


Output
4	four
2	two
1	one

Time Complexity: O(k) average, O(n * k) worst, where n is the number of elements in unordered_map.
Auxiliary Space: O(k), where k is the number of elements to be inserted.



Similar Reads