Open In App

multimap insert() in C++ STL

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

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

Time Complexity: O(logN), where N is the size of the multimap. 

Syntax: 

iterator multimap_name.insert(iterator position, {key, element})

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

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;
 
    // 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

Time Complexity: O(logn)


Article Tags :
C++