El multimap::equal_range() es una función integrada en C++ STL que devuelve un iterador de pares. El par se refiere a los límites de un rango que incluye todos los elementos en el contenedor que tienen una clave equivalente a k. Si no hay coincidencias con la clave K, el rango devuelto es de longitud 0 con ambos iteradores apuntando al primer elemento que tiene una clave que se considera que va después de k según el objeto de comparación interna del contenedor (key_comp).
Sintaxis:
iterator multimap_name.equal_range(key)
Parámetros: esta función acepta una sola clave de parámetro obligatoria que especifica el elemento cuyo rango en el contenedor se va a devolver.
Valor devuelto: la función devuelve un iterador de pares. El par se refiere a los límites de un rango que incluye todos los elementos en el contenedor que tienen una clave equivalente a k. Si no hay coincidencias con la clave K, el rango devuelto es de longitud 0 con ambos iteradores apuntando al primer elemento que tiene una clave que se considera que va después de k según el objeto de comparación interna del contenedor (key_comp).
El programa a continuación ilustra el método anterior:
C++
// C++ program to illustrate the // multimap::equal_range() function #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({ 1, 20 }); mp.insert({ 5, 50 }); // Stores the range of key 1 auto it = mp.equal_range(1); cout << "The multimap elements of key 1 is : \n"; cout << "KEY\tELEMENT\n"; // Prints all the elements of key 1 for (auto itr = it.first; itr != it.second; ++itr) { cout << itr->first << '\t' << itr->second << '\n'; } return 0; }
The multimap elements of key 1 is : KEY ELEMENT 1 40 1 20