Biblioteca de algoritmos de C ++ - función find_if_not ()
Descripción
La función C ++ std::algorithm::find_if_not()busca la última aparición del elemento que satisface la condición. Utiliza un predicado unario para especificar la condición.
Declaración
A continuación se muestra la declaración de la función std :: algorítm :: find_if_not () del encabezado std :: algorítmo.
C ++ 11
template <class InputIterator, class UnaryPredicate>
InputIterator find_if_not(InputIterator first, InputIterator last, UnaryPredicate pred);
Parámetros
first - Iterador de entrada a la posición inicial.
last - Iterador final a la posición final.
pred - Un predicado unario que acepta un argumento y devuelve bool.
Valor devuelto
devuelve un iterador al primer elemento del rango (primero, último) para el que el predicado unario devuelve falso. Si no se encuentra tal elemento, la función regresa al final.
Excepciones
Lanza una excepción si el predicado o una operación en un iterador arroja una excepción.
Tenga en cuenta que los parámetros no válidos provocan un comportamiento indefinido.
Complejidad del tiempo
Lineal.
Ejemplo
El siguiente ejemplo muestra el uso de la función std :: algorítm :: find_if_not ().
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool unary_pred(int n) {
return ((n % 2) == 0);
}
int main(void) {
vector<int> v = {2, 4, 61, 8, 10};
auto it = find_if_not(v.begin(), v.end(), unary_pred);
if (it != end(v))
cout << "First odd number is " << *it << endl;
v = {2, 4, 6, 8, 10};
it = find_if_not(v.begin(), v.end(), unary_pred);
if (it == end(v))
cout << "Only enven elements present in the sequence." << endl;
return 0;
}
Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:
First odd number is 61
Only enven elements present in the sequence.