English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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().
iterator find(const key_type& k); // Prima di C++ 11 const_iterator find(const key_type& k) const; // A partire da C++ 11
k:Specificare la chiave da cercare nel contenitore map.
Se trova l'elemento, restituisce un iteratore che punta all'elemento. Altrimenti, restituisce un iteratore che punta alla fine della mappa, ossia map :: end().
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'.
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.
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.
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