Tutorialspoint.dev

multimap insert() in C++ STL

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 ELEMENT ";
        for (auto itr = mp.begin(); itr != mp.end(); ++itr) {
            cout << itr->first
                 << ' ' << itr->second << ' ';
        }
        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 ELEMENT ";
        for (auto itr = mp.begin(); itr != mp.end(); ++itr) {
            cout << itr->first
                 << ' ' << itr->second << ' ';
        }
        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 ";
        cout << "KEY ELEMENT ";
        for (auto itr = mp1.begin(); itr != mp1.end(); ++itr) {
            cout << itr->first
                 << ' ' << itr->second << ' ';
        }
        return 0;
    }

    Output:

    Elements in mp1 are
    KEY    ELEMENT
    1    40
    2    30
    


This article is attributed to GeeksforGeeks.org

leave a comment

code

0 Comments

load comments

Subscribe to Our Newsletter