Skip to content
Related Articles

Related Articles

Improve Article
multimap insert() in C++ STL
  • Difficulty Level : Easy
  • Last Updated : 29 Jun, 2018

The multimap::insert is a built-in function in C++ STL which is used to insert elements in the multimap container.

  1. Syntax:
    iterator multimap_name.insert({key, element})
    

    Parameters: The function accepts a pair that consists of a key and element which is to be inserted into the multimap container.

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




    // C++ program to illustrate
    // multimap::insert({key, element})
    #include <bits/stdc++.h>
    using namespace std;
      
    int main()
    {
      
        // initialize container
        multimap<int, int> mp;
      
        // insert elements in random order
        mp.insert({ 2, 30 });
        mp.insert({ 1, 40 });
        mp.insert({ 3, 60 });
        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
    2    20
    3    60
    5    50
    
  2. Syntax:
    iterator multimap_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 multimap container.
    • position: this does not specify the position where the insertion is to be done, it only points a position from where the searching operation for insertion is to be started. The insertion is done according to the order which is followed by the multimap container.

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




    // C++ program to illustrate
    // multimap::insert({key, element})
    #include <bits/stdc++.h>
    using namespace std;
      
    int main()
    {
      
        // initialize container
        multimap<int, int> mp;
      
        // insert elements in random order
        mp.insert({ 2, 30 });
        mp.insert({ 1, 40 });
      
        auto it = mp.find(2);
      
        // inserts {3, 6} 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
    
  3. Syntax:
    iterator multimap_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 the multimap container.

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




    // C++ program to illustrate
    // multimap::insert({key, element})
    #include <bits/stdc++.h>
    using namespace std;
      
    int main()
    {
      
        // initialize container
        multimap<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 :