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

C++ Método de uso e exemplo do map find()

C++ STL map ( Container )

C ++ map find()A função é usada paraProcurarcom dadocom valor de chave k do elemento。Se encontrar o elemento, retorna um iterador apontando para o elemento. Caso contrário, ele retorna um iterador apontando para o final do map, ou seja, map :: end().

Sintaxe

 iterator find(const key_type& k);             //  De C++ 11 Antes
const_iterator find(const key_type& k) const;    //De C++ 11 Começar

Parâmetro

k:指定要在map容器中搜索的键。

Retorno

Se encontrar o elemento, retorna um iterador apontando para o elemento. Caso contrário, ele retorna um iterador apontando para o final do map, ou seja, map :: end().

Exemplo1

Vamos ver um exemplo simples, encontrar o elemento com um valor de chave dado.

#include <iostream>
#include <map>
using namespace std;
int main(void) {
   map<char, int> m = {
            {'a', 100},
            {'b', 200},
            {'c', 300},
            {'d', 400},
            {'e', 500},
            };
   auto it = m.find('c');
   cout << "O iterador aponta para  " << it->first << "}}" 
      << "  =  " << it->second << endl;
   return 0;
}

Saída:

O iterador aponta para c = 300

No exemplo acima, a função find() retorna o valor da chave 'c'.

Exemplo2

Vamos ver um exemplo simples para encontrar elementos.

#include <iostream>
#include <map>
using namespace std;
int main(void) {
   map<char, int> m = {
            {'a', 100},
            {'b', 200},
            {'c', 300},
            {'d', 400},
            {'e', 500},
            };
            
    auto it = m.find('e');
   
    if (it == m.end()) {
      cout << "Não encontrado o elemento";
    } 
    else {
        // encontrado o elemento
        cout << "O iterador aponta para  " << it->first << "  =  " << it->second << endl;
    }
    
   return 0;
}

Saída:

O iterador aponta para e = 500

No exemplo acima, a função find() encontra o valor da chave 'e' no contêiner map m. Se a chave 'e' não for encontrada no map, ele retornará a mensagem 'não encontrado', caso contrário, ele exibirá o map.

Exemplo3

Vamos ver um exemplo simples.

#include <iostream>
#include <map>
 using namespace std;
int main()
{
    int n;
    map<int, char> example = {1},2},3},4},5},
    
    cout << "Insira o elemento que deseja procurar: ";
    cin >> n;
 
    auto search = example.find(n);
    if (search != example.end()) {
        cout << n << "  Encontrado, o valor é " << search->first << "  = " << search->second << '\n';
    } else {
        cout << n << "  Não encontrado\n";
    }
}

Saída:

Insira o elemento que deseja procurar: 5
5 encontrado, o valor é 5 =

No exemplo acima, a função find() é usada para encontrar o elemento com a chave fornecida pelo usuário.

Exemplo4

Vamos ver um exemplo simples.

#include <iostream>
#include <map>
using namespace std;
int main ()
{
  map<char, int> mymap;
  map<char, int>::iterator it;
  mymap['a'] =50;
  mymap['b'] =100;
  mymap['c'] =150;
  mymap['d'] =200;
  it = mymap.find('b');
  se (it != mymap.end())
    mymap.erase (it);
  cout << "Elementos do mymap:" << '\n';
  cout << "a => " << mymap.find('a')->second << '\n';
  cout << "c => " << mymap.find('c')->second << '\n';
  cout << "d => " << mymap.find('d')->second << '\n';
  return 0;
}

Saída:

Elementos do mymap:
a => 50
c => 150
d => 200

C++ STL map ( Container )