Skip to content
Related Articles

Related Articles

map insert() in C++ STL
  • Difficulty Level : Easy
  • Last Updated : 17 Nov, 2020

The map::insert() is a built-in function in C++ STL which is used to insert elements with a particular key in the map container. 

  • Syntax: 
iterator map_name.insert({key, element})



Parameters: The function accepts a pair that consists of a key and element which is to be inserted into the map container. The function does not insert the key and element in the map if the key already exists in the map. 

Return Value: The function returns an iterator pointing to the new element in the container. 

Below is the illustration of the above syntax: 

C++




// C++ program to illustrate
// map::insert({key, element})
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
 
    // initialize container
    map<int, int> mp;
 
    // insert elements in random order
    mp.insert({ 2, 30 });
    mp.insert({ 1, 40 });
    mp.insert({ 3, 60 });
 
    // does not inserts key 2 with element 20
    mp.insert({ 2, 20 });
    mp.insert({ 5, 50 });
 
    // prints the elements
    cout << "KEY\tELEMENT\n";
    for (auto itr = mp.begin(); itr != mp.end(); ++itr) {
        cout << itr->first
             << '\t' << itr->second << '\n';
    }
    return 0;
}
Output: 



KEY    ELEMENT
1    40
2    30
3    60
5    50



 

  • Syntax: 
iterator map_name.insert(iterator position, {key, element})



Parameters: The function accepts two parameters which is described below: 

  • {key, element}: This specifies a pair that consists of a key and element which is to be inserted into the map container.
  • position: This does not specify the position where the insertion is to be done, it only points to a position from where the searching operation for insertion is to be started to make the process faster. The insertion is done according to the order which is followed by the map container.

Return Value: The function returns an iterator pointing to the new element in the container.

Below is the illustration of the above syntax:

C++




// C++ program to illustrate
// map::insert(iteratorposition, {key, element})
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
   
    // initialize container
    map<int, int> mp;
 
    // insert elements in random order
    mp.insert({ 2, 30 });
    mp.insert({ 1, 40 });
 
    auto it = mp.find(2);
 
    // inserts {3, 60} starting the search from
    // position where 2 is present
    mp.insert(it, { 3, 60 });
 
    // prints the elements
    cout << "KEY\tELEMENT\n";
    for (auto itr = mp.begin(); itr != mp.end(); ++itr) {
        cout << itr->first
            << '\t' << itr->second << '\n';
    }
    return 0;
}

Output:

KEY    ELEMENT
1    40
2    30
3    60

  • Syntax: 
iterator map_name.insert(iterator position1, iterator position2)



Parameters: The function accepts two parameters position1 and position2 which specifies the range of elements. All the elements in the range [position1, last) are inserted in another map container. 

Return Value: The function returns an iterator pointing to the new element in the container. 

Below is the illustration of the above syntax: 

C++




// C++ program to illustrate
// map::insert(iteratorposition1, iteratorposition2)
#include <bits/stdc++.h>
using namespace std;
 
int main()
{
 
    // initialize container
    map<int, int> mp, mp1;
 
    // insert elements in random order
    mp.insert({ 2, 30 });
    mp.insert({ 1, 40 });
 
    // inserts all elements in range
    // [begin, end) in mp1
    mp1.insert(mp.begin(), mp.end());
 
    // prints the elements
    cout << "Elements in mp1 are\n";
    cout << "KEY\tELEMENT\n";
    for (auto itr = mp1.begin(); itr != mp1.end(); ++itr) {
        cout << itr->first
             << '\t' << itr->second << '\n';
    }
    return 0;
}
Output: 
Elements in mp1 are
KEY    ELEMENT
1    40
2    30



 

 

 

Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.
My Personal Notes arrow_drop_up
Recommended Articles
Page :