Introdução
Neste laboratório, você aprenderá como usar o método find() em um Map em C++. O método find() é usado para procurar um elemento em um Map com uma chave (key) fornecida. Este laboratório assume que você tem conhecimento básico de C++ e do container Map.
Criar um novo arquivo C++
Primeiro, você precisa criar um novo arquivo C++ chamado main.cpp no diretório ~/project. Você pode usar qualquer editor de texto ou IDE para criar e editar este arquivo.
cd ~/project
touch main.cpp
Incluir as bibliotecas e namespace necessários
No topo do arquivo main.cpp, inclua as bibliotecas necessárias e a diretiva using.
#include <iostream>
#include <map> //include map library
using namespace std;
Definir a função principal (main)
Defina a função main() para começar a escrever seu código.
int main() {
//Your code
return 0; //Exit program
}
Criar um container Map
Crie um contêiner Map com chaves e valores inteiros. O contêiner Map armazenará pares chave-valor ordenados em ordem crescente de chaves.
map<int, int> myMap; //Create a Map container with integer keys and values
Inserir elementos no Map
Use o método insert() para inserir pares chave-valor no contêiner Map. Esta etapa irá inserir cinco elementos no 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));
Usar o método find() para procurar um elemento
Use o método find(x) para procurar um elemento com a chave x no Map. Se o elemento for encontrado, o método retorna um iterador para o elemento. Se não for encontrado, o método retorna um iterador para o end() do contêiner Map. Aqui, vamos procurar elementos com as chaves 5 e 6.
map<int, int>::iterator it; //Create an iterator for the Map container
it = myMap.find(5); //Find the element with key 5 in the Map
if (it != myMap.end()) {
cout << "Element with key 5 is found and the value is " << it->second << endl;
} else {
cout << "Element with key 5 is not found\n";
}
it = myMap.find(6); //Find the element with key 6 in the Map
if (it != myMap.end()) {
cout << "Element with key 6 is found and the value is " << it->second << endl;
} else {
cout << "Element with key 6 is not found\n";
}
Compilar e executar o programa
Compile o arquivo main.cpp usando o seguinte comando no terminal:
g++ main.cpp -o main
Execute o programa usando o seguinte comando:
./main
Testar o programa
Após executar o programa, você deve ver a seguinte saída no terminal:
Element with key 5 is found and the value is 25
Element with key 6 is not found
Esta saída mostra que o elemento com a chave 5 foi encontrado no Map e seu valor é 25. O elemento com a chave 6 não foi encontrado no Map.
Completar o código
Copie e cole o seguinte código completo no arquivo main.cpp.
#include <iostream>
#include <map>
using namespace std;
int main() {
map<int, int> myMap; //Create a Map container with integer keys and values
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; //Create an iterator for the Map container
it = myMap.find(5); //Find the element with key 5 in the Map
if (it != myMap.end()) {
cout << "Element with key 5 is found and the value is " << it->second << endl;
} else {
cout << "Element with key 5 is not found\n";
}
it = myMap.find(6); //Find the element with key 6 in the Map
if (it != myMap.end()) {
cout << "Element with key 6 is found and the value is " << it->second << endl;
} else {
cout << "Element with key 6 is not found\n";
}
return 0; //Exit program
}
Resumo
Parabéns! Você aprendeu com sucesso como usar o método find() em um contêiner Map em C++. O método find() é útil para pesquisar elementos com uma chave específica em um contêiner Map. Lembre-se que o método find() retorna um iterador para o elemento se o elemento for encontrado, e um iterador para o end() do contêiner Map se o elemento não for encontrado.



