📜  C++ STL中的count_if()

📅  最后修改于: 2021-05-30 15:18:17             🧑  作者: Mango

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 
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 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
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”