multimap insert() in C++ STL (original) (raw)

Last Updated : 6 Sep, 2023

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:

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)