Open In App

multimap insert() in C++ STL

Last Updated : 06 Sep, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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. 

CPP




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

  • {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.

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. 

CPP




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



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads