English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ set find()La funzione è utilizzata perRicercaHa datoValore val Elementi。Se trova l'elemento, restituisce un iteratore che punta all'elemento, altrimenti restituisce un iteratore che punta alla fine della集合, ovvero set :: end().
iterator find(const value_type& val) const; // Prima di C++ 11 const_iterator find(const value_type& val) const; // Da C++ 11 iterator find(const value_type& val); // Da C++ 11
val:Specificare il valore da cercare nel contenitore della集合.
Restituisce un iteratore che punta all'elemento trovato, altrimenti restituisce un iteratore che punta alla fine della集合, ovvero set :: end().
Dimensione logaritmica.
Nessuna modifica.
Il contenitore può essere acceduto (versione const e versione non const) ma non può essere modificato.
Nessun accesso ai valori della mappa: è sicuro accedere e modificare contemporaneamente gli elementi.
Se si verifica un'eccezione, non ci sono modifiche nel contenitore.
Vediamo un esempio semplice per cercare un elemento con una chiave data:
#include <iostream> #include <set> using namespace std; int main(void) { set<int> m = {100,200,300,400}; auto it = m.find(300); cout << "L'iteratore punta a " << *it << endl; return 0; }
输出:
L'iteratore punta a 300
Vediamo un esempio semplice per cercare un elemento:
#include <iostream> #include <set> using namespace std; int main(void) { set<char> m = {'a', 'b', 'c', 'd'}; auto it = m.find('e'); if (it == m.end()) { // Elemento non trovato cout << "Elemento non trovato"; } else { // Trovato cout << "L'iteratore punta a " << *it << endl; } return 0; }
输出:
Elemento non trovato
Nell'esempio sopra, la funzione find() cerca la chiave e nella raccolta m, se non trova la chiave e nella raccolta m, restituisce il messaggio non trovato, altrimenti visualizza la raccolta.
Vediamo un esempio semplice:
#include <iostream> #include <set> using namespace std; int main() { char n; set<char> example = {'a','b','c','d','e'}; cout << "Inserisci l'elemento da cercare: "; cin >> n; auto search = example.find(n); if (search != example.end()) { cout << n << " trovato e il valore è " << *search << '\n'; } else { cout << n << " non trovato\n"; } }
输出:
Inserisci l'elemento da cercare: Trovato e il valore è
Nell'esempio sopra, viene utilizzata la funzione find() per cercare l'elemento in base al valore fornito dall'utente.
Vediamo un esempio semplice:
#include <iostream> #include <set> int main () { std::set<int> myset; std::set<int>::iterator it; per (int i = 1; i <= 10; i++) myset.insert(i * 10); it = myset.find(40); myset.erase(it); myset.erase(myset.find(60)); std::cout << "myset包含:"; for (it = myset.begin(); it!=myset.end(); ++it) std::cout << ' ' << *it; std::cout << '\n'; return 0; }
输出:
myset包含: 10 20 30 50 70 80 90 100