C++ 算法 count_if() 函数

定义和用法

count_if() 函数用于统计数据范围内满足指定条件的元素数量。

数据范围通过迭代器指定。

条件由一个函数定义,该函数接收元素值作为参数并返回布尔值:满足条件返回 true,不满足条件返回 false。

实例

统计 vector 中大于 5 的数字出现的次数:

bool greater_than_5(int value) {
  return value > 5;
}

int main() {
  vector<int> numbers = {1, 7, 3, 5, 9, 2};
  int amount = count_if(numbers.begin(), numbers.end(), greater_than_5);
  cout << "共有" << amount << "个大于 5 的数值";
  return 0;
}

亲自试一试

语法

count_if(iterator start, iterator end, function condition);

参数

参数 描述
start 必需。指向要测试数据范围起始位置的迭代器。
end

必需。指向要测试数据范围结束位置的迭代器。

将测试到该位置之前的元素,但不包含该位置上的元素。

condition 必需。接收元素值作为参数并返回布尔值的判断函数。

技术细节

返回: 整数,表示数据范围内满足条件的元素数量。

相关页面

教程:C++ 数据结构

教程:C++ 迭代器

教程:C++ 算法

教程:C++ 布尔值