#include <iostream>
#include <algorithm>
#include <functional>
//计算元素个数
int main()
{
/************************************************************************/
//count
/************************************************************************/
//计算范围[first,last)内与value相等的个数
/*
template<class InputIterator, class T> inline
size_t count(
InputIterator First,
InputIterator Last,
const T& Value
);
*/
int a[] = {2, 0, 4, 6, 0 ,3, 1, -7};
const int N = sizeof a / sizeof a[0];
std::cout << "Numbers of equal to zeros is: "
<< std::count(a, a + N, 0) << std::endl; //Numbers of equal to zeros is: 2
/************************************************************************/
//count_if
/************************************************************************/
//count_if在范围[first,last)内满足条件的元素个数
/*
template<class InputIterator, class Predicate>
typename iterator_traits<InputIterator>::difference_type count_if(
InputIterator _First,
InputIterator _Last,
Predicate _Pred
);
*/
std::cout << "Numbers of equal to zeros is: " <<
std::count_if(a, a + N, std::bind1st(std::equal_to<int>(),0))
<< std::endl; //Numbers of equal to zeros is: 2
std::cout << "Numbers of greater equal 0 is: " <<
std::count_if(a, a + N, std::bind1st(std::less_equal<int>(),0))
<< std::endl; //Numbers of greater equal 0 is: 7
return 0;
}
测试结果:
====================打个广告,欢迎关注====================
QQ: | 412425870 |
csdn博客: | http://blog.youkuaiyun.com/caychen |
码云: | https://gitee.com/caychen/ |
github: | https://github.com/caychen |
点击群号或者扫描二维码即可加入QQ群: | ![]() |
![]() |