logo

Función de mapa C++

Los mapas son parte de C++ STL (Biblioteca de plantillas estándar). Los mapas son contenedores asociativos que almacenan pares clave-valor ordenados, en los que cada clave es única y se puede insertar o eliminar, pero no se puede modificar. Los valores asociados con las claves se pueden cambiar.

Por ejemplo: Un mapa de empleados donde el ID del empleado es la clave y el nombre es el valor se puede representar como:

milivecricket
Llaves Valores
101 nikita
102 Robin
103 Profundo
104 John

Sintaxis

 template <class key, map::key_type class t, map::mapped_type compare="less," map::key_compare alloc="allocator&lt;pair"> // map::allocator_type &gt; class map; </class>

Parámetro

llave: El tipo de datos clave que se almacenará en el mapa.

tipo: El tipo de datos del valor que se almacenará en el mapa.

composición de la relación

comparar: Una clase de comparación que toma dos argumentos del mismo tipo bool y devuelve un valor. Este argumento es opcional y el predicado binario less es el valor predeterminado.

asignar: Tipo de objeto asignador. Este argumento es opcional y el valor predeterminado es asignador.

Creando un mapa

Los mapas se pueden crear fácilmente utilizando la siguiente declaración:

 typedef pair value_type; 

El formulario anterior se utilizará para crear un mapa con clave de tipo Tipo de clave y valor del tipo tipo de valor. Una cosa importante es que la clave de un mapa y los valores correspondientes siempre se insertan como un par; no se puede insertar solo la clave o solo un valor en un mapa.

arquitectura java

Ejemplo 1

 #include #include #include #include using namespace std; int main() { map Employees; // 1) Assignment using array index notation Employees[101] = &apos;Nikita&apos;; Employees[105] = &apos;John&apos;; Employees[103] = &apos;Dolly&apos;; Employees[104] = &apos;Deep&apos;; Employees[102] = &apos;Aman&apos;; cout &lt;&lt; &apos;Employees[104]=&apos; &lt;&lt; Employees[104] &lt;&lt; endl &lt;&lt; endl; cout &lt;&lt; &apos;Map size: &apos; &lt;&lt; Employees.size() &lt;&lt; endl; cout &lt;&lt; endl &lt;&lt; &apos;Natural Order:&apos; &lt;&lt; endl; for( map::iterator ii=Employees.begin(); ii!=Employees.end(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; endl; } cout &lt;&lt; endl &lt;&lt; &apos;Reverse Order:&apos; &lt;&lt; endl; for( map::reverse_iterator ii=Employees.rbegin(); ii!=Employees.rend(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; endl; } } 

Producción:

 Employees[104]=Deep Map size: 5 Natural Order: 101: Nikita 102: Aman 103: Dolly 104: Deep 105: John Reverse Order: 105: John 104: Deep 103: Dolly 102: Aman 101: Nikita 

Funciones de los miembros

A continuación se muestra la lista de todas las funciones miembro del mapa:

Constructor/Destructor

Funciones Descripción
constructores Construir mapa
destructores Destructor de mapas
operador= Copie elementos del mapa a otro mapa.

Iteradores

Funciones Descripción
comenzar Devuelve un iterador que apunta al primer elemento del mapa.
comenzar Devuelve un iterador constante que apunta al primer elemento del mapa.
fin Devuelve un iterador que apunta al final del pasado.
algunos Devuelve un iterador constante que apunta al final del pasado.
comenzar Devuelve un iterador inverso que apunta al final.
marcas Devuelve un iterador inverso que apunta al principio.
comenzar Devuelve un iterador inverso constante que apunta al final.
creer Devuelve un iterador inverso constante que apunta al principio.

Capacidad

Funciones Descripción
vacío Devuelve verdadero si el mapa está vacío.
tamaño Devuelve el número de elementos del mapa.
tamaño máximo Devuelve el tamaño máximo del mapa.

Acceso a elementos

Funciones Descripción
operador[] Recupera el elemento con la clave dada.
en Recupera el elemento con la clave dada.

Modificadores

Funciones Descripción
insertar Insertar elemento en el mapa.
borrar Borrar elementos del mapa.
intercambio Intercambia el contenido del mapa.
claro Elimina todos los elementos del mapa.
ubicación Construya e inserte los nuevos elementos en el mapa.
emplace_hint Construya e inserte nuevos elementos en el mapa mediante sugerencias.

Observadores

Funciones Descripción
clave_comp Devuelve una copia del objeto de comparación clave.
valor_comp Devuelve una copia del objeto de comparación de valores.

Operaciones

Funciones Descripción
encontrar Busque un elemento con la clave dada.
contar Obtiene el número de elementos que coinciden con la clave dada.
límite inferior Devuelve un iterador al límite inferior.
límite_superior Devuelve un iterador al límite superior.
rango_igual Devuelve el rango de elementos que coinciden con la clave dada.

asignador

Funciones Descripción
get_allocador Devuelve un objeto asignador que se utiliza para construir el mapa.

Funciones sobrecargadas para no miembros

Funciones Descripción
operador== Comprueba si los dos mapas son iguales o no.
operador!= Comprueba si los dos mapas son iguales o no.
operador< Comprueba si el primer mapa es menor que el otro o no.
operador<=< td> Comprueba si el primer mapa es menor o igual que otro o no.
operador> Comprueba si el primer mapa es mayor que el otro o no.
operador>= Comprueba si el primer mapa es mayor que el otro o no.
intercambio() Intercambia el elemento de dos mapas.