Introducción
En este laboratorio, aprenderás a usar el método find() en un Map en C++. El método find() se utiliza para buscar un elemento en un Map con una clave dada. Este laboratorio asume que tienes conocimientos básicos de C++ y del contenedor Map.
Crea un nuevo archivo de C++
Primero, debes crear un nuevo archivo de C++ llamado main.cpp en el directorio ~/project. Puedes usar cualquier editor de texto o IDE para crear y editar este archivo.
cd ~/project
touch main.cpp
Incluye las bibliotecas y el espacio de nombres necesarios
En la parte superior del archivo main.cpp, incluye las bibliotecas necesarias y la directiva using.
#include <iostream>
#include <map> //include map library
using namespace std;
Define la función principal
Define la función main() para comenzar a escribir tu código.
int main() {
//Tu código
return 0; //Salir del programa
}
Crea un contenedor Map
Crea un contenedor Map con claves y valores enteros. El contenedor Map almacenará pares clave-valor ordenados en orden ascendente de claves.
map<int, int> myMap; //Crea un contenedor Map con claves y valores enteros
Inserta elementos en el Map
Utiliza el método insert() para insertar pares clave-valor en el contenedor Map. En este paso, se insertarán cinco elementos en el Map.
myMap.insert(make_pair(3, 9));
myMap.insert(make_pair(2, 4));
myMap.insert(make_pair(5, 25));
myMap.insert(make_pair(9, 81));
myMap.insert(make_pair(1, 1));
Utiliza el método find() para buscar un elemento
Utiliza el método find(x) para buscar un elemento con clave x en el Map. Si el elemento se encuentra, el método devuelve un iterador al elemento. Si no se encuentra, el método devuelve un iterador al end() del contenedor Map. Aquí, buscaremos elementos con claves 5 y 6.
map<int, int>::iterator it; //Crea un iterador para el contenedor Map
it = myMap.find(5); //Busca el elemento con clave 5 en el Map
if (it!= myMap.end()) {
cout << "Elemento con clave 5 se encuentra y el valor es " << it->second << endl;
} else {
cout << "Elemento con clave 5 no se encuentra\n";
}
it = myMap.find(6); //Busca el elemento con clave 6 en el Map
if (it!= myMap.end()) {
cout << "Elemento con clave 6 se encuentra y el valor es " << it->second << endl;
} else {
cout << "Elemento con clave 6 no se encuentra\n";
}
Compila y ejecuta el programa
Compila el archivo main.cpp utilizando el siguiente comando en la terminal:
g++ main.cpp -o main
Ejecuta el programa utilizando el siguiente comando:
./main
Prueba el programa
Después de ejecutar el programa, deberías ver la siguiente salida en la terminal:
Elemento con clave 5 se encuentra y el valor es 25
Elemento con clave 6 no se encuentra
Esta salida muestra que el elemento con clave 5 se encuentra en el Map y su valor es 25. El elemento con clave 6 no se encuentra en el Map.
Completa el código
Copia y pega el siguiente código completo en el archivo main.cpp.
#include <iostream>
#include <map>
using namespace std;
int main() {
map<int, int> myMap; //Crea un contenedor Map con claves y valores enteros
myMap.insert(make_pair(3, 9));
myMap.insert(make_pair(2, 4));
myMap.insert(make_pair(5, 25));
myMap.insert(make_pair(9, 81));
myMap.insert(make_pair(1, 1));
map<int, int>::iterator it; //Crea un iterador para el contenedor Map
it = myMap.find(5); //Busca el elemento con clave 5 en el Map
if (it!= myMap.end()) {
cout << "Elemento con clave 5 se encuentra y el valor es " << it->second << endl;
} else {
cout << "Elemento con clave 5 no se encuentra\n";
}
it = myMap.find(6); //Busca el elemento con clave 6 en el Map
if (it!= myMap.end()) {
cout << "Elemento con clave 6 se encuentra y el valor es " << it->second << endl;
} else {
cout << "Elemento con clave 6 no se encuentra\n";
}
return 0; //Sale del programa
}
Resumen
¡Felicidades! Has aprendido con éxito cómo utilizar el método find() en un contenedor Map en C++. El método find() es útil para buscar elementos con una clave específica en un contenedor Map. Recuerda que el método find() devuelve un iterador al elemento si se encuentra, y un iterador al end() del contenedor Map si el elemento no se encuentra.



