El multimap::insert es una función integrada en C++ STL que se usa para insertar elementos en el contenedor de mapas múltiples.
- Sintaxis:
iterator multimap_name.insert({key, element})
- Parámetros: la función acepta un par que consta de una clave y un elemento que se insertará en el contenedor multimapa. Valor devuelto: la función devuelve un iterador que apunta al nuevo elemento en el contenedor.
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; }
Producción:
KEY ELEMENT 1 40 2 30 2 20 3 60 5 50
Complejidad de tiempo: O(logN), donde N es el tamaño del mapa múltiple.
- Sintaxis:
iterator multimap_name.insert(iterator position, {key, element})
- Parámetros: La función acepta dos parámetros que se describen a continuación:
- {clave, elemento}: especifica un par que consta de una clave y un elemento que se insertará en el contenedor multimapa.
- posición: no especifica la posición donde se va a realizar la inserción, solo señala una posición desde donde se va a iniciar la operación de búsqueda de inserción. La inserción se realiza según el orden que sigue el contenedor multimapa.
- Sintaxis:
iterator multimap_name.insert(iterator position1, iterator position2)
- Parámetros: La función acepta dos parámetros position1 y position2 que especifican el rango de elementos. Todos los elementos del rango [posición 1, último] se insertan en el contenedor multimapa. Valor devuelto: la función devuelve un iterador que apunta al nuevo elemento en el contenedor.
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; }
Producción:
Elements in mp1 are KEY ELEMENT 1 40 2 30
Complejidad de tiempo: O (logn)