Supponiamo di avere un vettore A = {1 0 1 1 0 0 0 1 0}
. Ora voglio ottenere gli indici di tutte le occorrenze di 0 restituiti come un altro vettore B
.Trovare gli indici di tutte le occorrenze di un elemento in un vettore
template< class InputIt, class T>
std::vector<int> IndicesOf(InputIt first, InputIt last, const T& value) {
}
Qui è un inizio:
std::vector<int>::iterator iter = std::find_if(A.begin(), A.end(), 0);
B = std::distance(A.begin(), iter);
@ScottMorken non dovrebbe che essere 'template std :: vector ...'? OP cercava una serie di indici, non un insieme di copie di elementi. –
jaggedSpire
sì hai ragione, modificato di nuovo –