Algorithm Count If Function

C++ Algorithm count_if function has a 'pred' value and returns the count of the elements in the range [first,last) for which the value of pred is true.

Syntax

Example

template <class InputIterator, class UnaryPredicate>

typename iterator_traits<InputIterator>::difference_type count_if(InputIterator first, InputIterator last,UnaryPredicate pred);

Parameter

first : It is an input iterator to the first element in the range.

last : It is an input iterator to the last element in the range.

val : It is the element whose occurrence is being searched in the range.

Return value

The function returns the number of element in the range [first,last) for which the value of pred is true.

Example 1

Example

#include<iostream>
#include<algorithm>
#include<vector>
bool isOdd(int k)
{
	return((k%2)==1);
}
int main()
{
	std::vector<int> newvector;
	for(int k=1; k<10; k++)
	newvector.push_back(k);
	int newcount=count_if(newvector.begin(),newvector.end(),isOdd);
	std::cout<<"newvector contains "<<newcount<<" odd values.\n";
	return 0;
}

Output:

Output

newvector contains 5 odd values.

Example 2

Example

#include<bits/stdc++.h>
using namespace std;
bool isEven(int k)
{
	if(k%2==0)
	return true;
}
int main()
{
	vector<int> u;
	for(int i=0; i<10; i++)
	{
		u.push_back(i);
	}
	int noEven=count_if(u.begin(),u.end(),isEven);
	cout<<"Count of even number is:"<<noEven;
	return 0;
}

Output:

Output

Count of even number is: 10

Complexity

The complexity of the function is linear up to a distance between first and last element.

Data races

Some or all of the elements of the range are accessed

Exceptions

The function throws an exception if any of the argument throws one.

Input Required

This code uses input(). Please provide values below: