Biblioteca de algoritmos C ++ - função find_if_not ()
Descrição
A função C ++ std::algorithm::find_if_not()encontra a última ocorrência do elemento que satisfaz a condição. Ele usa predicado unário para especificar a condição.
Declaração
A seguir está a declaração para o cabeçalho da função std :: algorithm :: find_if_not () std :: algorithm.
C ++ 11
template <class InputIterator, class UnaryPredicate>
InputIterator find_if_not(InputIterator first, InputIterator last, UnaryPredicate pred);
Parâmetros
first - Insira o iterador na posição inicial.
last - Iterador final para a posição final.
pred - Um predicado unário que aceita um argumento e retorna bool.
Valor de retorno
retorna um iterador para o primeiro elemento no intervalo (primeiro, último) para o qual o predicado unário retorna falso. Se nenhum elemento for encontrado, a função retorna por último.
Exceções
Lança exceção se o predicado ou uma operação em um iterador lança exceção.
Observe que os parâmetros inválidos causam um comportamento indefinido.
Complexidade de tempo
Linear.
Exemplo
O exemplo a seguir mostra o uso da função std :: algorithm :: 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;
}
Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -
First odd number is 61
Only enven elements present in the sequence.