std::find_if , std::find_if_not en C++

estándar::buscar_si

Devuelve un iterador al primer elemento del rango [primero, último] para el que pred(Función unaria) devuelve verdadero . Si no se encuentra tal elemento, la función regresa en último lugar. Plantilla de función:

InputIterator find_if (InputIterator first, InputIterator last, UnaryPredicate pred);

first, last :range which contains all the elements between first
and last, including the element pointed by first but
not the element pointed by last.

pred : Unary function that accepts an element in the range
as argument and returns a value in boolean.

Return value :
Returns an iterator to the first element in the range
[first, last) for which pred(function) returns true. If
no such element is found, the function returns last.

estándar::encontrar_si_no

Devuelve un iterador al primer elemento del rango [primero, último] para el que pred(Función unaria) devuelve false . Si no se encuentra tal elemento, la función regresa en último lugar. Plantilla de función:

InputIterator find_if_not (InputIterator first, InputIterator last, UnaryPredicate pred);

Return value :
Returns an iterator to the first element in the range
[first, last) for which pred(function) returns false.

CPP

// CPP program to illustrate
// std::find_if and std::find_if_not
#include <bits/stdc++.h>
 
// Returns true if argument is odd
bool IsOdd(int i)
{
    return i % 2;
}
 
// Driver code
int main()
{
    std::vector<int> vec{ 10, 25, 40, 55 };
 
    // Iterator to store the position of element found
    std::vector<int>::iterator it;
 
    // std::find_if
    it = std::find_if(vec.begin(), vec.end(), IsOdd);
    std::cout << "The first odd value is " << *it << '\n';
 
        // Iterator to store the position of element found
        std::vector<int>::iterator ite;
 
    // std::find_if_not
    ite = std::find_if_not(vec.begin(), vec.end(), IsOdd);
 
    std::cout << "The first non-odd(or even) value is " << *ite << '\n';
 
        return 0;
}

Producción:

The first odd value is 25
The first non-odd(or even) value is 10

Artículos relacionados: 

Este artículo es una contribución de Sachin Bisht . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *