Tout ce que je veux faire est de vérifier si un élément existe dans le vecteur ou pas, donc je peux faire face à chaque cas.
Réponses
Trop de publicités?Comme d'autres l'ont dit, l'utilisation de la STL find
ou find_if
fonctions. Mais si vous êtes à la recherche de très grands vecteurs et cela influe sur les performances, vous pouvez trier votre vecteur et ensuite utiliser l' binary_search
, lower_bound
ou upper_bound
algorithmes.
Si votre vecteur n’est pas ordonnée, utilisez l’approche MSN a suggéré :
Si votre vecteur est ordonnée, utilisez binary_search méthode que Brian Neal suggéré :
recherche binaire donne des résultats pire O (log n), ce qui est beaucoup plus efficace que la première approche. Pour utiliser la recherche binaire, vous pouvez utiliser qsort pour trier le vecteur tout d’abord pour garantir l’ordonne.