count_if()函数返回满足条件的范围内的元素数。
例子:
Input: 0 1 2 3 4 5 6 7 8 9 Output: Total no of even numbers is: 5 Input: 2 3 4 5 6 7 8 9 10 11 12 13 Output: Total no of even numbers is: 6
用法:
count_if(lower_bound, upper_bound, function)
count_if函数采用三个参数,其中前两个参数是元素序列的第一个和最后一个位置(范围中不包括最后一个位置),而第三个参数是采用给定元素的函数作为参数一个接一个地排序,并根据条件返回布尔值
在该函数中指定。
然后,count_if()返回给定序列中比较器函数的元素数
(第三个参数)返回true。
// C++ program to show the working
// of count_if()
#include <bits/stdc++.h>
using namespace std;
// Function to check the
// number is even or odd
bool isEven(int i)
{
if (i % 2 == 0)
return true;
else
return false;
}
// Drivers code
int main()
{
vector<int> v;
for (int i = 0; i < 10; i++) {
v.push_back(i);
}
int noEven = count_if(v.begin(), v.end(),
isEven);
cout << "Total no of even numbers is: "
<< noEven;
return 0;
}
输出:
Total no of even numbers is: 5
相关用法
注:本文由纯净天空筛选整理自Prateek Sharma 7大神的英文原创作品 count_if() in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。