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

Modo d'uso e esempio di C++ set find()

C++ STL Set(集合)

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().

Sintassi

         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

Parametro

val:Specificare il valore da cercare nel contenitore della集合.

Valore di ritorno

Restituisce un iteratore che punta all'elemento trovato, altrimenti restituisce un iteratore che punta alla fine della集合, ovvero set :: end().

Complesso

Dimensione logaritmica.

Validità dell'iteratore

Nessuna modifica.

Conflitto dei dati

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.

Sicurezza delle eccezioni

Se si verifica un'eccezione, non ci sono modifiche nel contenitore.

Esempio 1

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

Esempio 2

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.

Esempio 3

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.

Esempio 4

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

C++ STL Set(集合)