std::count_if() 函数在 C++ STL 中


在本文中,我们将讨论 C++ STL 中 std::count_if() 函数的工作原理、语法以及示例。

什么是 std::count_if()?

std::count_if() 函数是 C++ STL 中的一个内置函数,它在 <algorithm> 头文件中定义。count_if() 用于获取指定范围内满足一定条件的元素数量。此函数返回一个整数,表示满足条件的元素数量。

此函数不仅遍历给定的范围,还检查语句或条件是否为真,并计数语句或条件为真的次数,然后返回结果。

语法

count_if(start, end, condition);

参数

此函数接受以下参数 -

  • start, end - 这是可用于指定我们要使用该函数的范围的迭代器。start 给出范围的起始位置,end 给出范围的结束位置。
  • condition - 这是我们要检查的条件。Condition 是必须应用于给定范围的一元函数。

返回值

此函数返回满足条件的元素数量。

示例

输入

bool iseve(int i){ return ((i%2)==0); }
int a = count_if( vect.begin(), vect.end(), iseve ); /* vect has 10 integers 1-10*/

输出

even numbers = 2 4 6 8 10

示例

 在线演示

#include <bits/stdc++.h>
using namespace std;
bool check_odd(int i){
   if (i % 2!= 0)
      return true;
   else
      return false;
}
 int main() {
   vector<int> vec;
   for (int i = 0; i < 10; i++){
      vec.push_back(i);
   }
   int total_odd = count_if(vec.begin(), vec.end(), check_odd);
   cout<<"Number of odd is: "<<total_odd;
   return 0;
}

输出

Number of odd is: 5

更新时间:2020 年 4 月 17 日

1K+ 浏览

开启你的职业生涯

完成课程以获取认证

开始
广告