Localización de los valores en c ++ usando el algoritmo de descubrimiento

La biblioteca estándar de C ++ contiene una serie de funciones para encontrar algo que necesita dentro de un contenedor. Localizar lo que necesita tan eficientemente como sea 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() Los algoritmos son

  • encontrar()

  • find_end ()

  • find_first_of ()

  • find_if ()

El algoritmo utiliza depende de lo que desea buscar 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 recipiente:

#incluir #incluir #incluir usando espacio de nombres std-int main () {vector Palabras-Words.push_back ("Azul") -Words.push_back ("Verde") -Words.push_back ("Teal") -Words.push_back ("Ladrillo") -Words.push_back ("Púrpura") -Words.push_back ("marrón") -Words.push_back ("Gris claro")-vector:: iterador Resultado = find (Words.begin (), Words.end (), "Gris claro") -Si (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") -Si (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 las cadenas de color. En ambos casos, el código intenta localizar un color particular dentro vector. La primera vez que el código tiene éxito porque Gris claro es uno de los colores que figuran en el vector. Sin embargo, el segundo intento se frustró porque Negro No es uno de los colores de 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 para manipular el valor inexistente. En este ejemplo, sólo tiene que ver no se encontró un mensaje que indica el valor. Sin embargo, en el código del mundo real, a menudo se debe reaccionar a las situaciones en las que el valor no se encuentra por

  • Indica una condición de error

  • Añadiendo el valor al recipiente

  • La sustitución de un valor estándar

  • Definición de una acción alternativa basada en una entrada no vá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 un interior vector, también puedes usar encontrar() para recipientes externos, tales como unidades de disco. Pasar un buen rato con éste - experimento con todos los contenedores que se encuentre.

Artículos Relacionados