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.
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; } |
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; } |
KEY ELEMENT 1 40 2 30 3 60
Time Complexity: O(logn)