21xrx.com
2024-12-22 18:29:38 Sunday
登录
文章检索 我的文章 写文章
C++中的count_if函数
2023-07-13 05:54:16 深夜i     --     --
C++ count_if 函数 算法 迭代器

C++中的count_if函数是一个十分有用的算法函数,它可以用来对容器中的元素进行计算和统计。它是C++ STL库中的一个函数,可以对容器中的指定区域内元素进行计数和查找。

count_if函数的语法如下:


template<class InputIterator, class UnaryPredicate>

typename iterator_traits<InputIterator>::difference_type count_if(InputIterator first, InputIterator last, UnaryPredicate pred);

其中,InputIterator是一个输入迭代器,即指向容器中元素的迭代器类型;UnaryPredicate是一个一元函数对象或函数指针,用于指定对容器中的元素进行判断的条件。

count_if函数会依次对输入迭代器范围内的元素进行判断,对于满足条件的元素,计数器会自增。最后,函数返回计数器的值,即满足条件的元素个数。

下面是一个示例,其中使用了count_if函数来计算vector容器中某个值出现的次数:


#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

int main() {

  // 创建 vector 容器,并赋值

  vector<int> vec = 2;

  // 使用 count_if 函数计数,并输出结果

  int count = count_if(vec.begin(), vec.end(), [](int i){return i == 2;});

  cout << "Value 2 occurs " << count << " times in the vector." << endl;

  return 0;

}

在上面的代码中,使用lambda表达式作为一元函数对象,对容器中元素进行判断,进行了计数。最后输出了结果。

总的来说,C++中的count_if函数使得对容器中元素进行计数和查找变得十分简单,而且使用起来也十分灵活,可以根据不同的需求进行自定义。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复