Biblioteca C ++ - <mapa>

Introducción al mapa

El mapa es una estructura de datos similar a un diccionario. Es una secuencia de pares (clave, valor), donde solo se asocia un valor único con cada clave única. A menudo se denomina matriz asociativa .

En el mapa, los valores clave generalmente se utilizan para ordenar los elementos. Para los datos del mapa, el tipo de clave y el valor pueden diferir y se representa como

typedef pair<const Key, T> value_type;

Los mapas se implementan normalmente como árbol de búsqueda binaria.

Los mapas de tamaño cero también son válidos. En ese caso, map.begin () y map.end () apuntan a la misma ubicación.

Definición

A continuación se muestra la definición de std :: map del archivo de encabezado <map>

template < class Key,
           class T,
           class Compare = less<Key>,
           class Alloc = allocator<pair<const Key,T> >
           > class map;

Parámetros

  • Key - Tipo de clave.

  • T - Tipo de valores mapeados.

  • Compare - Un predicado binario que toma dos claves de elementos como argumentos y devuelve un bool.

  • Alloc - Tipo de objeto asignador.

T puede ser sustituido por cualquier otro tipo de datos, incluido el tipo definido por el usuario.

Tipos de miembros

Los siguientes tipos de miembros se pueden utilizar como parámetros o tipos de retorno por funciones miembro.

No Señor. Tipos de miembros Definición
1 key_type Clave (primer parámetro de la plantilla)
2 mapped_type T (segundo parámetro de la plantilla)
3 key_compare Comparar (tercer parámetro de la plantilla)
4 allocator_type Alloc (cuarto parámetro de la plantilla)
5 tipo de valor par <const key_type, mapped_type>
6 value_compare Clase de función anidada para comparar elementos
7 referencia allocator_type :: referencia
8 referencia_const allocator_type :: const_reference
9 puntero allocator_type :: puntero
10 puntero_const allocator_type :: const_pointer
11 iterador iterador bidireccional a value_type
12 const_iterator iterador bidireccional a const value_type
13 reverse_iterator iterador inverso
14 const_reverse_iterator iterador inverso constante
15 tipo_diferencia ptrdiff_t
dieciséis tipo de letra size_t

Funciones de <map>

A continuación se muestra una lista de todos los métodos del encabezado <map>.

Constructores

No Señor. Método y descripción
1 map :: constructor predeterminado del mapa

Construye un mapa vacío con cero elementos.

2 map :: constructor de rango de mapa

Construye un mapa con tantos elementos como en el rango del primero al último .

3 map :: constructor de copia de mapa

Construye un mapa con copia de cada elemento presente en el mapa existente.

4 map :: map move constructor

Construye un mapa con el contenido de otro usando semántica de movimiento.

5 map :: constructor de lista de inicializador de mapa

Construye un mapa a partir de la lista de inicialización.

Incinerador de basuras

No Señor. Método y descripción
1 mapa :: ~ mapa

Destruye el objeto del mapa al desasignar su memoria.

Funciones de miembro

No Señor. Método y descripción
1 mapa :: en

Devuelve una referencia al valor mapeado asociado con la clave k .

2 mapa :: comenzar

Devuelve un iterador que hace referencia al primer elemento del mapa.

3 mapa :: cbegin

Devuelve un iterador constante que se refiere al primer elemento del mapa.

4 mapa :: cend

Devuelve un iterador constante que apunta al elemento más allá del final del mapa.

5 mapa :: claro

Destruye el mapa eliminando todos los elementos y establece el tamaño del mapa en cero.

6 mapa :: cuenta

Devuelve el número de valores mapeados asociados con la clave k .

7 mapa :: crbegin

Devuelve un iterador inverso constante que apunta al último elemento del contenedor i.

8 mapa :: crend

Devuelve un iterador inverso constante que apunta al elemento teórico que precede al primer elemento en el contenedor i.

9 mapa :: emplazamiento

Extiende el contenedor insertando un nuevo elemento.

10 map :: emplace_hint hint version

Inserta un nuevo elemento en un mapa usando sugerencia como una posición para el elemento.

11 mapa :: vacío

Comprueba si el mapa está vacío o no.

12 mapa :: final

Devuelve un iterador que apunta al elemento más allá del final en el mapa.

13 mapa :: igual_rango

Devuelve un rango de elementos que coincide con una clave específica.

14 mapa :: borrar versión de posición

Elimina un solo elemento del mapa de su posición .

15 mapa :: borrar versión de posición

Elimina un solo elemento del mapa de su posición .

dieciséis mapa :: borrar clave

Elimina el valor mapeado asociado con la clave k .

17 mapa :: borrar versión de rango

Elimina el rango de elementos del mapa.

18 mapa :: borrar versión de rango

Elimina el rango de elementos del mapa.

19 mapa :: buscar

Encuentra un elemento asociado con la clave k .

20 map :: get_allocator

Devuelve un asignador asociado con el mapa.

21 mapa :: insertar un solo elemento

Extiende el contenedor insertando un nuevo elemento en el mapa.

22 mapa :: insertar versión de sugerencia

Extiende el contenedor insertando un nuevo elemento en el mapa.

23 mapa :: insertar versión de rango

Extiende el contenedor insertando nuevos elementos en el mapa.

24 map :: insertar versión de sugerencia de movimiento

Extiende el mapa insertando un nuevo elemento.

25 map :: insertar la versión de la lista de inicializadores

Extiende el mapa insertando un nuevo elemento de la lista de inicializadores.

26 mapa :: key_comp

Devuelve un objeto de función que compara las claves, que es una copia del argumento del constructor de este contenedor comp .

27 map :: lower_bound

Devuelve un iterador que apunta al primer elemento que no es menor que la clave k .

28 mapa :: tamaño_máximo

Devuelve el número máximo de elementos que puede contener el mapa.

29 mapa :: operador = copia de la versión

Asigne nuevos contenidos al mapa reemplazando los antiguos y modifique el tamaño si es necesario.

30 mapa :: operador = mover versión

Mueve el contenido de un mapa a otro y modifica el tamaño si es necesario.

31 map :: operator = versión de la lista de inicializadores

Copie elementos de la lista de inicializadores al mapa.

32 map :: operator [] copiar versión

Si la clave k coincide con un elemento del contenedor, el método devuelve una referencia al elemento.

33 mapa :: operador [] mover versión

Si la clave k coincide con un elemento del contenedor, el método devuelve una referencia al elemento.

34 mapa :: rbegin

Devuelve un iterador inverso que apunta al último elemento del mapa.

35 mapa :: rend

Devuelve un iterador inverso que apunta al final inverso del mapa i.

36 Tamaño de mapa

Devuelve el número de elementos presentes en el mapa.

37 map :: swap

Intercambia el contenido del mapa con el contenido del mapa x.

38 map :: upper_bound

Devuelve un iterador que apunta al primer elemento que es mayor que la clave k .

39 mapa :: value_comp

Devuelve un objeto de función que compara objetos de tipo std :: map :: value_type .

Funciones sobrecargadas de no miembros

No Señor. Método y descripción
1 operador ==

Comprueba si dos mapas son iguales o no.

2 operador! =

Comprueba si dos mapas son iguales o no.

3 operador <

Comprueba si el primer mapa es menor que otro o no.

4 mapa :: operador <=

Comprueba si el primer mapa es menor o igual que otro o no.

5 operador>

Comprueba si el primer mapa es mayor que otro o no.

6 operador> =

Comprueba si el primer mapa es mayor o igual que otro o no.

7 intercambiar()

Intercambia el contenido del mapa con el contenido del mapa x.

Introducción a multimap

Multimap es una estructura de datos similar a un diccionario. Es una secuencia de pares (clave, valor) , donde se pueden asociar múltiples valores con claves equivalentes. A menudo se denomina matriz asociativa .

En multimapa, los valores clave generalmente se utilizan para ordenar los elementos. Para datos multimapa, el tipo de clave y el valor pueden diferir y se representa como

typedef pair<const Key, T> value_type;

Los multimapas se implementan típicamente como árbol de búsqueda binaria.

Los multimaps de tamaño cero también son válidos. En ese caso, multimap.begin () y multimap.end () apuntan a la misma ubicación.

Definición

A continuación se muestra la definición de std :: multimap del archivo de encabezado <multimap>

template < class Key,
           class T,
           class Compare = less<Key>,
           class Alloc = allocator<pair<const Key,T> >
           > class multimap;

Parámetros

  • Key - Tipo de clave.

  • T - Tipo de valores mapeados.

  • Compare - Un predicado binario que toma dos claves de elementos como argumentos y devuelve un bool.

  • Alloc - Tipo de objeto asignador.

  • T puede ser sustituido por cualquier otro tipo de datos, incluido el tipo definido por el usuario.

Tipos de miembros

Los siguientes tipos de miembros se pueden utilizar como parámetros o tipos de retorno por funciones miembro.

No Señor. Tipos de miembros Definición
1 key_type Clave (primer parámetro de la plantilla)
2 mapped_type T (segundo parámetro de la plantilla)
3 key_compare Comparar (tercer parámetro de la plantilla)
4 allocator_type Alloc (cuarto parámetro de la plantilla)
5 tipo de valor par <const key_type, mapped_type>
6 value_compare Clase de función anidada para comparar elementos
7 referencia allocator_type :: referencia
8 referencia_const allocator_type :: const_reference
9 puntero allocator_type :: puntero
10 puntero_const allocator_type :: const_pointer
11 iterador iterador bidireccional a value_type
12 const_iterator iterador bidireccional a const value_type
13 reverse_iterator iterador inverso
14 const_reverse_iterator iterador inverso constante
15 tipo_diferencia ptrdiff_t
dieciséis tipo de letra size_t

Funciones de <multimap>

A continuación se muestra una lista de todos los métodos del encabezado <multimap>.

Constructores

No Señor. Método y descripción
1 multimap :: constructor predeterminado multimap

Construye un multimapa vacío con cero elementos.

2 multimap :: constructor de rango multimap

Construye un multimapa con tantos elementos como en el rango del primero al último .

3 multimap :: constructor de copia multimap

Construye un multimapa con copia de cada elemento presente en el multimapa existente.

4 multimap :: constructor de movimientos multimap

Construye un mapa múltiple con el contenido de otro usando semántica de movimiento.

5 multimap :: constructor de lista de inicializadores multimap

Construye un mapa múltiple a partir de la lista de inicialización.

Incinerador de basuras

No Señor. Método y descripción
1 multimap :: ~ multimap

Destruye el objeto multimapa al desasignar su memoria.

Funciones de miembro

No Señor. Método y descripción
1 multimap :: begin

Devuelve un iterador que hace referencia al primer elemento del multimapa.

2 multimap :: cbegin

Devuelve un iterador constante que se refiere al primer elemento del multimapa.

3 multimap :: cend

Devuelve un iterador constante que apunta al elemento pasado-final del multimapa.

4 multimap :: clear

Destruye el multimapa eliminando todos los elementos y establece el tamaño del multimapa en cero.

5 multimap :: count

Devuelve el número de valores de mapas múltiples asociados con la clave k .

6 multimap :: crbegin

Devuelve un iterador inverso constante que apunta al último elemento del contenedor.

7 multimap :: crend

Devuelve un iterador inverso constante que apunta al elemento teórico que precede al primer elemento del contenedor.

8 multimap :: emplace

Extiende el contenedor insertando un nuevo elemento.

9 multimap :: emplace_hint hint version

Inserta un nuevo elemento en un multimapa usando una sugerencia como posición para el elemento.

10 multimap :: vacío

Comprueba si multimap está vacío o no.

11 multimap :: end

Devuelve un iterador que apunta a un elemento pasado al final en el multimapa.

12 multimap :: igual_rango

Devuelve un rango de elementos que coincide con una clave específica.

13 multimap :: borrar versión de posición

Elimina un solo elemento del multimapa de su posición .

14 multimap :: borrar versión de posición

Elimina un solo elemento del multimapa de su posición .

15 multimap :: borrar clave

Elimina el valor mapeado asociado con la clave k .

dieciséis multimap :: borrar versión de rango

Elimina el rango de elementos del multimapa.

17 multimap :: borrar versión de rango

Elimina el rango de elementos del multimapa.

18 multimap :: encontrar

Encuentra un elemento asociado con la clave k .

19 multimap :: get_allocator

Devuelve un asignador asociado con multimap.

20 multimap :: insertar un solo elemento

Extiende el contenedor insertando un nuevo elemento en multimap.

21 multimap :: insertar versión de sugerencia

Extiende el contenedor insertando un nuevo elemento en multimap.

22 multimap :: insert range version

Extiende el contenedor insertando nuevos elementos en el multimapa.

23 multimap :: insertar versión de sugerencia de movimiento

Extiende multimapa insertando un nuevo elemento.

24 multimap :: insertar la versión de la lista de inicializadores

Extiende multimapa insertando un nuevo elemento de la lista de inicializadores.

25 multimap :: key_comp

Devuelve un objeto de función que compara las claves, que es una copia del argumento del constructor de este contenedor comp .

26 multimap :: lower_bound

Devuelve un iterador que apunta al primer elemento que no es menor que la clave k .

27 multimap :: tamaño_máximo

Devuelve el número máximo de elementos que puede contener multimap.

28 multimap :: operator = copiar versión

Asigne nuevos contenidos al multimapa reemplazando los antiguos y modifique el tamaño si es necesario.

29 multimap :: operator = mover versión

Mueve el contenido de un multimapa a otro y modifica el tamaño si es necesario.

30 multimap :: operator = versión de la lista de inicializadores

Copie elementos de la lista de inicializadores a multimapa.

31 multimap :: rbegin

Devuelve un iterador inverso que apunta al último elemento del multimapa.

32 multimap :: rend

Devuelve un iterador inverso que apunta al extremo inverso del multimapa.

33 multimap :: tamaño

Devuelve el número de elementos presentes en el multimapa.

34 multimap :: swap

Intercambia el contenido de multimap con el contenido de multimap x.

35 multimap :: upper_bound

Devuelve un iterador que apunta al primer elemento que es mayor que la clave k .

36 multimap :: value_comp

Devuelve un objeto de función que compara objetos de tipo std :: multimap :: value_type .

Funciones sobrecargadas de no miembros

No Señor. Método y descripción
1 operador ==

Comprueba si dos multimapas son iguales o no.

2 operador! =

Comprueba si dos multimapas son iguales o no.

3 operador <

Comprueba si el primer multimapa es menor que otro o no.

4 multimap :: operador <=

Comprueba si el primer multimapa es menor o igual que otro o no.

5 operador>

Comprueba si el primer multimapa es mayor que otro o no.

6 operador> =

Comprueba si el primer multimapa es mayor o igual que otro o no.

7 intercambiar()

Intercambia el contenido de multimap con el contenido de multimap x.