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

Metodo di utilizzo e esempio della funzione find() di C++ map

map(容器)STL C++

C ++ map find()La funzione viene utilizzata perRicercacon una chiave datacon il valore della chiave k dei elementi。Se trova l'elemento, restituisce un iteratore che punta all'elemento. Altrimenti, restituisce un iteratore che punta alla fine della mappa, ossia map :: end().

Sintassi

 iterator find(const key_type& k); // Prima di C++ 11
const_iterator find(const key_type& k) const; // A partire da C++ 11

Parametro

k:Specificare la chiave da cercare nel contenitore map.

Valore di ritorno

Se trova l'elemento, restituisce un iteratore che punta all'elemento. Altrimenti, restituisce un iteratore che punta alla fine della mappa, ossia map :: end().

Esempio 1

Vediamo un esempio semplice per cercare un elemento con una chiave data.

#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 << "Iteratore che punta a " << it->first << 
      " << " << it->second << endl;
   return 0;
}

输出:

L'iteratore punta a c = 300

Nell'esempio precedente, la funzione find() restituisce il valore associato alla chiave 'c'.

Esempio 2

Lasciate che vi mostri un esempio semplice per cercare un elemento.

#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 << "Non trovato elemento";
    } 
    else {
        // trovato elemento
        cout << "L'iteratore puntato a " << it->first << " = " << it->second << endl;
    }
    
   return 0;
}

输出:

L'iteratore puntato a e = 500

Nell'esempio sopra, la funzione find() trova la chiave e nel contenitore map m, se la chiave e non è trovata nel map, restituisce il messaggio non trovato, altrimenti visualizza il map.

Esempio 3

Lasciate che vi mostri un esempio semplice.

#include <iostream>
#include <map>
 using namespace std;
int main()
{
    int n;
    map<int, char> example = {{1, 'a'}, {2, 'b'}, {3, 'c'}, {4, 'd'}, {5, 'e'}};
    
    cout << "Inserisci l'elemento da cercare: ";
    cin >> n;
 
    auto search = example.find(n);
    if (search != example.end()) {
        cout << n << " trovato, valore è " << search->first << " = " << search->second << '\n';
    } else {
        cout << n << " 未找到\n";
    }
}

输出:

Inserisci l'elemento da cercare: 5
5 trovato, valore è 5 = e

Nell'esempio sopra, viene utilizzata la funzione find() per cercare l'elemento in base alla chiave fornita dall'utente.

Esempio 4

Lasciate che vi mostri un esempio semplice.

#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');
  if (it != mymap.end())
    mymap.erase(it);
  cout << "元素中的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;
}

输出:

元素中的mymap:
a => 50
c => 150
d => 200

map(容器)STL C++