Situer les valeurs en C ++ en utilisant l'algorithme de découverte

La bibliothèque standard C ++ contient un certain nombre de fonctions pour trouver quelque chose que vous avez besoin dans un conteneur. Localisation ce que vous devez aussi efficacement que possible est toujours une bonne idée. Contrairement à votre garde-robe, vous voulez que vos applications bien organisés et facile à gérer! Les quatre commun find () algorithmes sont

  • find ()

  • find_end ()

  • find_first_of ()

  • find_if ()




L'algorithme que vous utilisez dépend de ce que vous voulez trouver et où vous vous attendez à trouver. Vous aurez probablement utiliser la plaine find () algorithme le plus souvent. La FindString exemple montre comment localiser un particulier chaîne à l'intérieur vecteur - vous pouvez utiliser la même approche pour localiser quelque chose dans tout type de conteneur:

#comprendre #comprendre #comprendre using namespace std-int main () {vecteur Words-Words.push_back("Blue")-Words.push_back("Green")-Words.push_back("Teal")-Words.push_back("Brick")-Words.push_back("Purple")-Words.push_back("Brown")-Words.push_back("LightGray")-vector:: iterator = Résultat trouver (Words.begin (), Words.end (), "GrisClair") - if (! Résultat = Words.end ()) cout lt; lt; * Résultat lt; lt; endl-elsecout lt; lt; "Value not found!" lt; lt; endl-Résultat = trouver (Words.begin (), Words.end (), «Noir») - if (! Résultat = Words.end ()) cout lt; lt; * Résultat lt; lt; endl-elsecout lt; lt; "Value not found!" lt; lt; endl-}

L'exemple commence par vecteur contenant des chaînes de couleur. Dans les deux cas, le code tente de localiser une couleur particulière au sein de vecteur. La première fois que le code est un succès parce Gris clair est l'une des couleurs énumérées dans vecteur. Cependant, la deuxième tentative est déjouée parce Noir est pas une des couleurs de vecteur. Voici le résultat de cet exemple:

LightGrayValue non trouvé!

Ne supposez jamais que le code va trouver une valeur particulière. Supposez toujours que quelqu'un va fournir une valeur qui ne existe pas et assurez-vous que vous fournissez un moyen de manipuler la valeur inexistante. Dans cet exemple, vous voyez simplement un message indiquant la valeur n'a pas été trouvé. Toutefois, dans le code du monde réel, vous devez souvent réagir à des situations où la valeur est introuvable par

  • Indiquer une condition d'erreur

  • L'ajout de la valeur au récipient

  • Substituer une valeur standard

  • Définition d'une action alternative basée sur une entrée invalide

La find () algorithme est très flexible. Vous pouvez l'utiliser pour les besoins internes et externes. Même si l'exemple montre comment vous pouvez trouver de l'information dans un interne vecteur, vous pouvez également utiliser find () pour les conteneurs externes, tels que les disques durs. Amusez-vous avec celui-ci - l'expérience avec tous les conteneurs que vous rencontrerez.


» » » » Situer les valeurs en C ++ en utilisant l'algorithme de découverte