English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ 教程基本

C++ Control de flujo

C++ Función

C++ Arreglo & cadena

C++ Estructuras de datos

C++ Clase & objeto

C++ Punteros

C++ Herencia

C++ Tutorial de STL

C++ Manual de Referencia

C++ Métodos de uso y ejemplos de Map

Map es C ++ Parte de STL (Biblioteca de Plantillas Estándar). Map es un contenedor asociativo de pares clave-valor ordenados, donde cada clave es única, se puede insertar o eliminar, pero no se puede modificar. Sin embargo, el valor asociado a la clave puede modificarse.

Por ejemplo:Un\tcontenedor\tde\tmap\tde\templeados,\tdonde\tla\tid\tde\templeado\tes\tla\tclave\t\ty\tnombre\tes\tvalores,\tse\tpuede\trepresentar\tcomo:

ClaveValor
101Nikita
102Robin
103Deep
104John

Sintaxis

template\t<\tclass\tKey,                     //map::key_type
           class\tT,                 //map::mapped_type
           class\tCompare\t=\tless<         //map::key_compare
           class\tAlloc\t=\tallocator<pair>    //map::allocator_type
           >\tclass\tmap;

Parámetros

key:\tEl\ttype\tde\tlos\tclaves\tque\tse\talmacenarán\t\tde\tmap.

type:\tEl\ttype\tde\tdatos\tde\tlos\tvalores\tque\tse\talmacenarán\t\tde\tmap.

compare:\tUna\tclase\tde\tcomparación\tque\tacepta\tdos\tparametros\tde\ttype\tbool\tiguales\t\ty\tdevuelve\tun\tvalor.\tEste\tparametro\tes\topcional,\tbinario\tpredicado\tless<\"key\">\tes\tel\tvalor\tpor\te defecto.

alloc:\tEl\ttype\tde\tobjeto\tdistribuidor\tde\tallocación.\tEste\tparametro\tes\topcional,\tcon\tvalor\tpor\te defecto\tallocador.\t.

Crear\tmap

Se\tpuede\tcrear\tmap\tcon\tla\texpresión\tde\abajo:

typedef\tpair<const\tKey,\tT>\tvalue_type;

La\texpresión\tde\tabajo\tse\tusará\tpara\tcrear\ta\tclase\tde\tclave\ttype\tKeytype\tKeyyvalue\tvaluede\ttypede\ttype\tvalue_typedel\tmap\t.Un\tpunto\timportante\tes\tque\tlos\tclaves\ty\tlos\tvalores\tse\tingresen\tsiempre\tpor\tpares,\tno\tpueden\tingresar\solamente\tclaves\t\ory\tvalores.

Instancia1

#include\t<string.h>  
#include\t<iostream>  
#include\t<map>  
#include\t<utility>  
using\tnamespace\tstd;  
int\tmain()
{
   mapEmployees;
   // 1)\tusando\tsímbolos\tde\tíndice\tabrray\tpara\tasignar
   Employees[101]\t=\t\"Nikita\";
   Employees[105]\t=\t\"John\";
   Employees[103]\t=\t\"Dolly\";
   Employees[104]\t=\t\"Deep\";
   Employees[102]\t=\t\"Aman\";
   cout\t<<\"Employees[104]\t=\t<<\tEmployees[104]\t<<\tendl\t<<\tendl;
   cout\t<<\"tamaño\tde\tMap:\"\t<<\tEmployees.size()\t<<\tendl;
   cout\t<<\tendl\t<<\"orden\natural:\"\n;
   for(\tmap::iterator\tii=Employees.begin();\tii!=Employees.end(); ++ii)
   {
       cout << (*ii).first << ": " << (*ii).second << endl;
   }
   cout << endl << "En orden inverso:" << endl;
   for( map::reverse_iterator ii=Employees.rbegin(); ii!=Employees.rend(); ++ii)
   {
       cout << (*ii).first << ": " << (*ii).second << endl;
   }
}

Salida:

Employees[104=Deep
Tamaño de Map: 5
En orden natural:
101: Nikita
102: Aman
103: Dolly
104: Deep
105: John
En orden inverso:
105: John
104: Deep
103: Dolly
102: Aman
101: Nikita

Funciones miembro

A continuación se muestra una lista de todas las funciones miembro de map:

Constructor/Función destrucción

FunciónDescripción
constructorsConstrucción de map
destructorsFunción destrucción de map
operator=Copia los elementos del map a otro contenedor de map.

Iterador

FunciónDescripción
beginDevuelve un iterador que apunta al primer elemento del map.
cbeginDevuelve un iterador constante que apunta al primer elemento del map.
endDevuelve un iterador que apunta al final.
cendDevuelve un iterador constante que apunta al final.
rbeginDevuelve un iterador de reversa que apunta al final.
rendDevuelve un iterador de reversa que apunta al punto de partida.
crbeginDevuelve un iterador constante de reversa que apunta al final.
crendDevuelve un iterador constante de reversa que apunta al punto de partida.

Capacidad

FunciónDescripción
emptySi el map está vacío, devuelve true.
sizeDevuelve el número de elementos en el map.
max_sizeDevuelve la capacidad máxima del map.

Acceso a elementos

FunciónDescripción
operator[]Recupera el elemento con la clave dada.
atRecupera el elemento con la clave dada.

Modificador

FunciónDescripción
insertInserta elementos en el map.
eraseBorra elementos del map.
swapIntercambia el contenido del map.
clearElimina todos los elementos del map.
emplaceConstruye un nuevo elemento y lo inserta en el map.
emplace_hintConstruye un nuevo elemento a partir de una sugerencia y lo inserta en el map.

Observador

FunciónDescripción
key_compDevuelve una copia del objeto de comparación de claves.
value_compDevuelve una copia del objeto de comparación de valores.

Método de operación

FunciónDescripción
findBuscar elementos con la clave dada.
countObtiene el número de elementos que coinciden con la clave dada.
lower_boundDevuelve el límite inferior del iterador.
upper_boundDevuelve un iterador hasta el límite superior.
equal_rangeDevuelve el rango de elementos que coinciden con la clave dada.

allocator

FunciónDescripción
get_allocatorRetorna el objeto allocator utilizado para construir el map.

Función sobrecargada no miembro

FunciónDescripción
operador==Verificar si dos map son iguales.
operador!=Verificar si dos map son iguales.
operador<Verificar si el primer map es menor que otros map.
operador<=Verificar si el primer map es menor o igual que otros map.
operador>Verificar si el primer map es mayor que otros map.
operador>=Verificar si el primer map es mayor que otros map.
swap()Intercambiar elementos de dos map.