c ++ std :: vector szukaj wartości
Próbuję zoptymalizowaćstd::vector
„search” - indeksowanie iteracji po wektorze i zwracanie oraz element pasujący do kryteriów „wyszukiwania”
struct myObj {
int id;
char* value;
};
std::vector<myObj> myObjList;
utwórz kilka tysięcy wpisów z unikalnymid
i wartości i popchnij je do wektoramyObjList
.
Jaki jest najskuteczniejszy sposób pobieraniamyObj
który pasuje doid
. Obecnie indeksuję iteracje, takie jak:
for(int i = 0; i < myObjList.size(); i++){
if(myObjList.at(i).id == searchCriteria){
return myObjList.at(i);
}
}
Uwaga:searchCriteria = int
. Wszystkie elementy mają unikalneid
jest. Powyższe ma zadanie, ale prawdopodobnie nie jest to najbardziej efektywny sposób.