Original article: https://www.freecodecamp.org/news/c-plus-plus-map-explained-with-examples/
map
es un contenedor que almacena elementos en pares clave-valor. Es similar a las colecciones en Java, los arreglos asociativos en PHP, o los objetos en JavaScript.
Aquí están los principales beneficios de usar map
:
map
solo almacena claves únicas, y las propias claves están ordenadas- Debido a que las claves están ya ordenadas, el buscar un elemento es muy rápido
- Hay solo un valor para cada clave
Aquí un ejemplo:
#include <iostream>
#include <map>
using namespace std;
int main (){
map<char,int> primero;
//inicializando
primero['a']=10;
primero['b']=20;
primero['c']=30;
primero['d']=40;
map<char, int>::iterator eso;
for(eso=primero.begin(); eso!=primero.end(); ++eso){
cout << eso->primero << " => " << eso->segundo << '\n';
}
return 0;
}
Salida:
a => 10
b => 20
c => 30
d => 40
Creación de un objeto map
map<string, int> miMapa;
Inserción
Inserción de datos con la función miembro insert
miMapa.insert(make_pair("Tierra", 1));
miMapa.insert(make_pair("Luna", 2));
También podemos insertar datos en std::map usando el operador [] es decir
miMapa["Sol"] = 3;
Acceso a los elementos de map
Para acceder a los elementos de map, tienes que crear un iterador. Por ejemplo:
map<char, int>::iterator eso;
for(eso=primero.begin(); eso!=primero.end(); ++eso){
cout << eso->first << " => " << eso->second << '\n';
}