Ho una lista di elementi, per esempio interi e voglio verificare se la mia variabile (un altro intero) è uno degli elementi della lista. In Python farei:Controlla se l'elemento è nella lista (contiene)
my_list = [1,2,3,4] # elements
my_var = 3 # my variable
my_var in my_list # returns boolean
Come farlo in C++? Ho pensato di utilizzare std::list
, ma non riesco a trovare il metodo find
in esso. Riesco a vedere tale metodo nella struttura std::set
.
In modo più approfondito, il problema è che al mio programma vengono dati alcuni ID univoci (un elenco, un set, qualsiasi cosa) e I itate su un lungo elenco di dati di input (ID) e controllare se sono inclusi nell'elenco (valore booleano restituito per ogni passaggio di iterazione). E non sono sicuro di come dovrei farlo in C++.
std :: vector. In C++ usa std :: vector a meno che tu non abbia una ragione speciale per non farlo. – user1937198
'std :: find' è il modo in cui cercare elementi in un contenitore – Andro
Perché utilizzare un vettore se stai cercando valori? Sicuramente vorrai un 'std :: set' o' std :: multiset' per ottenere prestazioni migliori rispetto a una ricerca lineare a meno che la tua lista non sia piccola o stai usando un vettore sparse e la digitazione sull'indice. –