Insieme C++ Trovare() la funzione è utilizzata trova un elemento con il dato valore val. Se trova l'elemento restituisce un iteratore che punta all'elemento altrimenti restituisce un iteratore che punta alla fine del set, ad esempio set::end().
Sintassi
iterator find (const value_type& val) const; // until C++ 11 const_iterator find (const value_type& val) const; //since C++ 11 iterator find (const value_type& val); //since C++ 11
Parametro
val : specifica il valore da cercare nel contenitore impostato.
Valore di ritorno
Se trova l'elemento restituisce un iteratore che punta all'elemento altrimenti restituisce un iteratore che punta alla fine del set, ad esempio set::end().
Complessità
Di dimensioni logaritmiche.
Validità dell'iteratore
Nessun cambiamento.
Gare di dati
Si accede al contenitore (né la versione const né quella non const modificano il contenitore.
Non è possibile accedere ai valori mappati: accedere e modificare contemporaneamente gli elementi è sicuro.
Sicurezza delle eccezioni
Se viene generata un'eccezione, non ci sono modifiche nel contenitore.
Esempio 1
Vediamo il semplice esempio per trovare l'elemento con il valore chiave indicato:
#include #include using namespace std; int main(void) { set m = {100,200,300,400}; auto it = m.find(300); cout << 'Iterator points to ' << *it << endl; return 0; }
Produzione:
Iterator points to 300
Esempio 2
Vediamo un semplice esempio per trovare l'elemento:
elenca Java
#include #include using namespace std; int main(void) { set m = {'a', 'b', 'c', 'd'}; auto it = m.find('e'); if ( it == m.end() ) { // not found cout<<'element not found'; } else { found cout << 'iterator points to ' *it<< endl; return 0; < pre> <p> <strong>Output:</strong> </p> <pre> Element not found </pre> <p>In the above example, find() function finds the key value e in the set m, if it is not found in the set then it will return a not found message otherwise, it will display the set.</p> <h2>Example 3</h2> <p>Let's see a simple example:</p> <pre> #include #include using namespace std; int main() { char n; set example = {'a','b','c','d','e'}; cout<>n; auto search = example.find(n); if (search != example.end()) { cout << n<<' found and the value is ' << *search ' '; } else { cout n<<' not found '; < pre> <p> <strong>Output:</strong> </p> <pre> Enter the element which you want to search: b b found and the value is b </pre> <p>In the above example, find() function is used to find the element according to user's given value.</p> <h2>Example 4</h2> <p>Let's see a simple example:</p> <pre> #include #include int main () { std::set myset; std::set::iterator it; for (int i = 1; i <= 10; i++) myset.insert(i*10); it="myset.find(40);" myset.erase (it); (myset.find(60)); std::cout << 'myset contains:'; for (it="myset.begin();" it!="myset.end();" ++it) ' *it; ' '; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> myset contains: 10 20 30 50 70 80 90 100 </pre> <br></=></pre></'></pre></'element>
Nell'esempio sopra, la funzione find() trova il valore della chiave e nel set m, se non viene trovato nel set restituirà un messaggio non trovato altrimenti visualizzerà il set.
Esempio 3
Vediamo un semplice esempio:
#include #include using namespace std; int main() { char n; set example = {'a','b','c','d','e'}; cout<>n; auto search = example.find(n); if (search != example.end()) { cout << n<<\' found and the value is \' << *search \' \'; } else { cout n<<\' not found \'; < pre> <p> <strong>Output:</strong> </p> <pre> Enter the element which you want to search: b b found and the value is b </pre> <p>In the above example, find() function is used to find the element according to user's given value.</p> <h2>Example 4</h2> <p>Let's see a simple example:</p> <pre> #include #include int main () { std::set myset; std::set::iterator it; for (int i = 1; i <= 10; i++) myset.insert(i*10); it="myset.find(40);" myset.erase (it); (myset.find(60)); std::cout << \'myset contains:\'; for (it="myset.begin();" it!="myset.end();" ++it) \' *it; \' \'; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> myset contains: 10 20 30 50 70 80 90 100 </pre> <br></=></pre></\'>
Nell'esempio precedente, la funzione find() viene utilizzata per trovare l'elemento in base al valore fornito dall'utente.
Esempio 4
Vediamo un semplice esempio:
#include #include int main () { std::set myset; std::set::iterator it; for (int i = 1; i <= 10; i++) myset.insert(i*10); it="myset.find(40);" myset.erase (it); (myset.find(60)); std::cout << \'myset contains:\'; for (it="myset.begin();" it!="myset.end();" ++it) \' *it; \' \'; return 0; } < pre> <p> <strong>Output:</strong> </p> <pre> myset contains: 10 20 30 50 70 80 90 100 </pre> <br></=>
=>\'>'element>