Localización de los valores en C ++ utilizando el algoritmo de descubrimiento

La biblioteca estándar de C ++ contiene una serie de funciones para encontrar algo que usted necesita dentro de un contenedor. Localización de lo que necesita la mayor eficacia posible es siempre una buena idea. A diferencia de su armario, desea que sus aplicaciones bien organizado y fácil de manejar! Los cuatro común encontrar() algoritmos son

  • encontrar()

  • find_end ()

  • find_first_of ()

  • find_if ()

El algoritmo utiliza depende de lo que desea encontrar y donde se espera encontrar. Es probable que utilice la llanura encontrar() algoritmo más a menudo. los FindString ejemplo muestra cómo ubicar una determinada cuerda dentro vector - se puede utilizar el mismo método para localizar algo en cualquier tipo de contenedor:

#include #include #include using namespace std-int main () {vectorial 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 Resultado = find (Words.begin (), Words.end (), "lightgray") - if (! Resultado = Words.end ()) cout lt; lt; * Resultado lt; lt; endl-elsecout lt; lt; "Valor no encontrado!" lt; lt; endl-Resultado = find (Words.begin (), Words.end (), "Negro") - if (! Resultado = Words.end ()) cout lt; lt; * Resultado lt; lt; endl-elsecout lt; lt; "Valor no encontrado!" lt; lt; endl-}

El ejemplo comienza con vector que contiene secuencias de colores. En ambos casos, el código intenta localizar un color particular dentro de vector. La primera vez que el código es exitoso porque Gris claro es uno de los colores enumerados en vector. Sin embargo, el segundo intento se frustró porque Negro no es uno de los colores en vector. Aquí está la salida de este ejemplo:

LightGrayValue No encontrado!

Nunca asuma que el código se encuentra un valor particular. Siempre asuma que alguien va a proporcionar un valor que no existe y luego asegúrese de proporcionar un medio de manipular el valor inexistente. En este ejemplo, sólo aparece un mensaje indicando el valor no ha sido encontrado. Sin embargo, en el código del mundo real, a menudo se debe reaccionar a las situaciones en que el valor no se encuentra por

  • Indica una condición de error

  • Añadiendo el valor al contenedor

  • Sustituyendo un valor estándar

  • Definición de una acción alternativa basada en la entrada inválida

los encontrar() algoritmo es muy flexible. Se puede utilizar para las necesidades internas y externas. A pesar de que el ejemplo muestra cómo se puede localizar información en una interna vector, también puede utilizar encontrar() para los contenedores externos, como unidades de disco. Pasar un buen rato con éste - experimenta con todos los contenedores que te encuentras.




» » » » Localización de los valores en C ++ utilizando el algoritmo de descubrimiento