C ++ multimap

C ++ multimap
Hoy aprenderemos sobre multimap y por qué usamos multimap. Aprenderemos la implementación de la escritura y las funciones importantes del multimap a través de ejemplos detallados. Pero, antes de saltar sobre el multimap, aprenderemos sobre los conceptos básicos del mapa en C ++ para que sea fácil aprender cómo funcionará el multimap.

En C ++, los mapas son los contenedores que almacenan los elementos de datos en pares de valores clave. En los mapas, estos pares de valor clave retienen elementos de datos. Esto significa que cada clave tiene su valor de elemento, pero la clave debe ser única para acceder rápidamente. Por defecto, los pares de valor clave se organizan en orden ordenado.

Introducción

En C ++, las multimapas son el contenedor que conserva los elementos en pares de valor clave de manera organizada para que puedan funcionar de manera eficiente y rápida. Estos valores clave se utilizan para organizar los elementos e identificados de manera única para que el contenido relacionado con esa clave se almacene en los valores asignados. La única diferencia significativa entre el multimap y el mapa es la posibilidad de claves repetidas que no son únicas, y usa el "<” operator to compare the keys.

Sintaxis

En STL multimap, escribiremos la palabra clave "plantilla" para pasar el tipo de datos como parámetro para que no tengamos que escribir el código para cada tipo de datos y luego escribir el "" mayor que el operador para cerrar la clase multimap.

Parámetros

llave: se usa para indicar el tipo de tecla para almacenar la tecla en un multimap.

tipo: se usa para indicar el tipo de datos del valor asignado en un multimap.

comparar: es un parámetro opcional y le permite comparar dos valores de elementos como teclas de clasificación para descubrir cómo deben organizarse en el multimap. Como predeterminado, se usa el predicado binario menos.

Asignado: se usa para asignar los valores en multimap.

Ejemplo

Aquí hay un ejemplo simple del multimap. Comencemos describiendo la implementación del ejemplo y también entendamos lo que hemos hecho en este ejemplo. Pero, antes de eso, necesitamos un compilador C ++ donde escribimos y ejecutamos el código de ejemplo. Entonces, abra el compilador C ++.

Incluyendo bibliotecas básicas

En cada programa de C ++, debemos incluir las bibliotecas importantes y básicas relacionadas con nuestro programa para que no necesitemos escribir el código de la función predefinida de C++. Mediante el uso de paquetes, nuestro código será preciso y fácil de entender, y también se compilará de manera eficiente. Escribimos el signo "#" para cada paquete que dirija al compilador que cargue el archivo de encabezado. Luego escribiremos la palabra clave "incluir" para que el compilador entienda que estamos incluyendo cualquier paquete en C++. Luego abrimos el operador "".

En este ejemplo, hemos usado tres bibliotecas; "Iostream" ingresa los datos del usuario y muestra los datos al usuario. El segundo es "cadena", por lo que si usamos algún valor de cadena en todo el programa, debemos incluir el paquete de cadenas, y el tercero es "mapa" porque estamos utilizando técnicas de mapeo en nuestro programa.

#incluir
#incluir
#incluir
usando el espacio de nombres STD;

Declarar e inicializar los pares de valor clave

Luego escribimos la función Main () en el programa para que podamos escribir la línea de código real que queremos implementar. Primero, declararemos la tupla multimap llamada "mulmap" del par de valores clave "int" y "cadena" e inicializará algunos datos en ella. Para la cadena, escribimos los datos en comillas dobles. Luego verificamos el tamaño de la tupla "mulmap" utilizando la función de tamaño predefinido () concatenada con "mulmap" y luego mostramos el tamaño utilizando el método cout () predefinido (). Para mostrar los elementos de una tupla uno por uno, hemos llamado "para bucle".

int main ()

multimapa mulmap =
1, "Islamabad",
2, "Lahore",
3, "Multan",
4, "Karachi"
;
cout << "The size of multimap is: " << mulmap.size()
<cout << "Elements in multimap are: " << endl;
cout<<"\tKEY\t\tELEMENT\n";
para (auto itr: mulmap)
cout << "\t" << itr.first <<"\t\t"<< itr.second << endl;

Aquí está la salida de la parte anterior del código. Como puede ver, ahora tenemos el tamaño de tupla multimap y los elementos de los pares de valores clave.

Insertar nuevos datos utilizando la función Insert ()

Después de declarar el multimap, queremos implementar una de las funciones del multimap, que es la función insert (). Como ya hemos insertado algunos datos en la tupla multimap, queremos insertar algunos datos nuevos. Para eso, escribiremos el nombre multimap de tupla, "mulmap" y luego concatenaremos la función inserto () con él. En los soportes MULMAP, escriba la palabra clave "Make-Peir" porque estamos pasando datos en forma de par en multimap, y luego escriba el nuevo par en el que queremos insertar datos en la tupla "mulmap" existente.

Y luego, usamos "para bucle" para mostrar los valores en el shell uno por uno en orden ordenado. Después de imprimir los pares de valor clave, queremos verificar nuevamente el tamaño de la tupla actualizada "mulmap", por lo que hemos usado nuevamente la función size () y aprobado la función size () en el método cout () para que podamos Muestra el tamaño del "mulmap" al usuario.

cout << "\nInserting New Elements in Multimap: " << endl;
cout<<"\tKEY\t\tELEMENT\n";
mulmap.insertar (make_pair (0, "rawalpindi"));
mulmap.insertar (make_pair (5, "hyderabad"));
para (auto itr: mulmap)
cout << "\t" << itr.first <<"\t\t"<< itr.second << "\t" << endl;

cout <<"Elements in multimap after updating: " << mulmap.size() << endl;

Veamos la salida del fragmento de datos anterior en multimap, donde hemos insertado nuevos datos. Como puede ver, los pares de valor clave se muestran de manera organizada. Y después de actualizar los pares de valor clave, tenemos el tamaño del multimap como 6.

Eliminar datos de la función multimap mediante la función ERASE ()

Para eliminar los elementos de datos de la tupla MULMAP, usamos la función ERASE () y pasamos la función en el método cout () para que podamos mostrar la tupla "mulmap" después de eliminar elementos de la tupla. Por otra parte, verificamos el tamaño de la tupla "mulmap" usando la función size ().

cout<<"\nRemoving elements from multimap: \n";
cout<<"\tKEY\t\tELEMENT\n";
mulmap.borrar (mulmap.begin (), mulmap.encontrar (4));
para (auto itr: mulmap)
cout << "\t" << itr.first <<"\t\t"<< itr.second << "\t" << endl;

cout <<"Elements in multimap after removing: " << mulmap.size() << endl;

Aquí está el resultado de la parte ilustrada, que hemos implementado anteriormente. Como se muestra a continuación, el tamaño de la tupla "mulmap" es 2:

Verifique el límite superior de la tupla mulmap existente

Para verificar el primer elemento de la tupla actualizada de "multimap", usaremos la función superior_bound () y pasaremos el valor clave a la función.

Cout << “\nElement on the Upper bound of multimap is: “ << endl;
cout<<”\tKEY\t\tELEMENT\n”;
cout << “\t” << mulmap.upper_bound(0)->primero << “\t\t” << mulmap.upper_bound(0)->segundo << endl;

Como ha visto, hemos pasado un valor 0 a la función superior_bound (). Sin embargo, tenemos el límite superior del elemento clave 4 porque ahora la tupla "mulmap" contiene solo dos elementos clave, y el superior se muestra a continuación:

Verifique el límite inferior en la tupla mulmap existente

Ahora, verifiquemos el último elemento de la tupla "mulmap" usando la función Lower_Bound () del Multimap e imprimiéndolo a través del método Cout ().

cout << "\nElement on the lower bound of multimap is: " << endl;
cout<<"\tKEY\t\tELEMENT\n";
cout << "\t" << mulmap.lower_bound(5)->primero << "\t\t" << mulmap.lower_bound(5)->segundo << endl;

Aquí está la salida del límite inferior de la tupla "mulmap":

Al final, devolveremos 0 a la función Main () y cerraremos los aparatos ortopédicos:

Conclusión

En este artículo, hemos aprendido el multimap implementando ejemplos simples con explicaciones detalladas. Discutimos el estilo de escritura del multimap. También hemos aprendido algunas de las funciones importantes de multimap en C ++ con una explicación detallada de cada línea de código.