Sto usando il seguente codice per trovare una stringa in un tipo std::vector
di string
. Ma come restituire la posizione di un elemento particolare?vector <string> :: iteratore - come trovare la posizione di un elemento
Codice:
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
vector<string> vec;
vector<string>::iterator it;
vec.push_back("H");
vec.push_back("i");
vec.push_back("g");
vec.push_back("h");
vec.push_back("l");
vec.push_back("a");
vec.push_back("n");
vec.push_back("d");
vec.push_back("e");
vec.push_back("r");
it=find(vec.begin(),vec.end(),"r");
//it++;
if(it!=vec.end()){
cout<<"FOUND AT : "<<*it<<endl;
}
else{
cout<<"NOT FOUND"<<endl;
}
return 0;
}
uscita:
FOUND AT : r
Output previsto:
FOUND AT : 9
Grazie! appena fuori dalla mia curiosità e se il mio vettore contiene '1000 elementi' e usando' find' sarà più veloce o ho bisogno di usare una sorta di 'puntatore a matrice'? – user2754070
@ user2754070 dovresti misurarlo, ma dubito che sarai più veloce di 'find' in una build ottimizzata. – juanchopanza