A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.geeksforgeeks.org/cpp/unordered_map-insert-in-c-stl/ below:

unordered_map insert in C++ STL

unordered_map insert in C++ STL

Last Updated : 11 Jul, 2025

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:

C++
// C++ program to illustrate the use of
// unordered_map::insert()
#include <bits/stdc++.h>
using namespace std;

int main() {
    unordered_map<int, string> um;

    // Insert single elements in random order
    um.insert({1, "one"});
  
    // Insert multiple elements
    um.insert({{2, "two"}, {4, "four"}});

    for (auto i : um)
        cout << i.first << ": " << i.second << '\n';
    return 0;
}

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

Return Value

Example C++
// C++ program to insert a single element using
// unordered_map::insert method
#include <bits/stdc++.h>
using namespace std;

int main() {
    unordered_map<int, string> um;

    // Insert single elements one by one
    um.insert({1, "one"});
    um.insert({4, "four"});
    um.insert({2, "two"});

    // Trying to insert duplicate key
    um.insert({2, "TWO"});

    for (auto i : um)
        cout << i.first << '\t' << i.second << '\n';
    return 0;
}

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

Return Value

Example C++
// C++ program to insert a pair near some given
// position using unordered_map::insert()
#include <bits/stdc++.h>
using namespace std;

int main() {
    unordered_map<int, string> um;
    um.insert({1, "one"});
    um.insert({4, "four"});

    // Finding the position to insert
    auto it = um.find(4);

    // Inserting {2, "two"} starting the search
    // from position where 4 is present
    um.insert(it, {2, "two"});

    for (auto i : um)
        cout << i.first << '\t' << i.second << '\n';
    return 0;
}

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

Return Value

Example C++
// C++ program to insert multiple key-value pairs
// using initializer list with unordered_map::insert()
#include <bits/stdc++.h>
using namespace std;

int main() {
    unordered_map<int, string> um;

    // Insert multiple key-value pairs using
    // initializer list
    um.insert({{1, "one"}, {2, "two"}, {4, "four"}});

    // Display the elements of the unordered_map
    for (auto i : um)
        cout << i.first << '\t' << i.second << '\n';
    return 0;
}

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

Return Value

Example C++
// C++ program to insert multiple elements from
// given range using unordered_map::insert()
#include <bits/stdc++.h>
using namespace std;

int main() {
    unordered_map<int, string> um;

    // Vector of pairs to insert into unordered_map
    vector<pair<int, string>> v = {{1, "one"},
                     {2, "two"}, {4, "four"}};

    // Insert elements from the defined range
    um.insert(v.begin(), v.end());
    for (auto i : um)
        cout << i.first << '\t' << i.second << '\n';
    return 0;
}

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.



RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4