Biblioteca de algoritmos C ++ - función count_if ()
Descripción
La función C ++ std::algorithm::count_if() devuelve el número de ocurrencias de valor del rango que satisface la condición.
Declaración
A continuación se muestra la declaración de la función std :: algorítm :: count_if () del encabezado std :: algorítmico.
C ++ 98
template <class InputIterator, class Predicate>
typename iterator_traits<InputIterator>::difference_type
count_if (InputIterator first, InputIterator last, UnaryPredicate pred);
Parámetros
first - Ingrese iteradores a las posiciones iniciales de la secuencia buscada.
last - Ingrese iteradores a las posiciones finales de la secuencia buscada.
pred - Predicado unario que toma un argumento y devuelve bool.
Valor devuelto
Devuelve el número de elementos en el rango para los que pred devuelve verdadero.
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 en la distancia entre el primero y el último .
Ejemplo
El siguiente ejemplo muestra el uso de la función std :: algorítm :: count_if ().
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool predicate(int n) {
return (n > 3);
}
int main(void) {
vector<int> v = {1, 2, 3, 4, 5};
int cnt;
cnt = count_if(v.begin(), v.end(), predicate);
cout << "There are " << cnt << " numbers are greater that 3." << endl;
return 0;
}
Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:
There are 2 numbers are greater that 3.