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. |