std::buscar es una función definida dentro archivo de encabezado que encuentra el elemento en el rango dado. Devuelve un iterador a la primera aparición del elemento especificado en la secuencia dada. Si no se encuentra el elemento, se devuelve un iterador hasta el final.
Sintaxis:
input_iterator std::find (input_iterator first , input_iterator l ast , const T& value );>
Parámetros:
- primero: iterador a la posición inicial en la secuencia. último: iterador a la posición justo después de la posición final en la secuencia. (Tenga en cuenta que vector.end() apunta a la siguiente posición del último elemento de la secuencia y no a la última posición de la secuencia). valor: valor a buscar.
Valor de retorno:
- Si el valor es encontró en la secuencia, se devuelve el iterador a su posición.
- Si el valor es extraviado , se devuelve el iterador a la última posición.
NOTA : input_iterator es el tipo de iterador del contenedor utilizado y t es el nombre de tipo definido en la plantilla de función.
Ejemplo:
C++
java creando lista
// C++ program to Demonstrate> // std::find for vectors> #include> // Driver code> int> main()> {> > std::vector<> int> >cosa{10, 20, 30, 40};> > // Iterator used to store the position> > // of searched element> > std::vector<> int> >::iterarlo;> > // Print Original Vector> > std::cout <<> 'Original vector :'> ;> > > for> (> int> i = 0; i std::cout << ' ' << vec[i]; std::cout << '
'; // Element to be searched int ser = 30; // std::find function call it = std::find(vec.begin(), vec.end(), ser); if (it != vec.end()) { std::cout << 'Element ' << ser << ' found at position : '; std::cout << it - vec.begin() << ' (counting from zero)
'; } else std::cout << 'Element not found.
'; return 0; }> |
>
>Producción
Original vector : 10 20 30 40 Element 30 found at position : 2 (counting from zero)>
Complejidad del tiempo: En)
Espacio Auxiliar: O(1)
NOTA: la función std::find() se define dentro del archivo de encabezado. Por lo tanto, debemos incluir ese archivo de encabezado antes de usar la función de búsqueda.
Como podemos ver que la complejidad temporal de std::find() es O(n) y también funciona en secuencias no ordenadas, podemos concluir que utiliza el búsqueda lineal algoritmo en su implementación.
Artículos relacionados:
- std::búsqueda
- std::find_if, std::find_if_not
- std::nth_element
- std::find_end