count_if在C++中的递归应用

   2024-10-01 9770
核心提示:在C++中,可以通过递归调用count_if函数来实现对数组或容器中元素的递归计数操作。下面是一个示例代码,演示了如何使用递归的方

在C++中,可以通过递归调用count_if函数来实现对数组或容器中元素的递归计数操作。下面是一个示例代码,演示了如何使用递归的方式计算数组中满足某个条件的元素个数:

#include <iostream>#include <vector>#include <algorithm>int count_if_recursive(const std::vector<int>& vec, int index, bool (*predicate)(int)) {    if (index == vec.size()) {        return 0;    } else {        return (predicate(vec[index]) ? 1 : 0) + count_if_recursive(vec, index + 1, predicate);    }}bool isEven(int num) {    return num % 2 == 0;}int main() {    std::vector<int> vec = {1, 2, 3, 4, 5, 6, 7, 8, 9};    int count = count_if_recursive(vec, 0, isEven);    std::cout << "Number of even elements in the vector: " << count << std::endl;    return 0;}

在上面的代码中,count_if_recursive函数通过递归方式遍历数组vec中的元素,对每个元素调用predicate函数判断是否满足条件,如果满足条件则返回1,否则返回0。最终通过累加返回的结果得到满足条件的元素个数。在main函数中,通过调用count_if_recursive函数并传入判断条件函数isEven来计算数组中偶数元素的个数。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号