4.2.2  元素计数算法

4.2.2 元素计数算法

STL算法库提供了用于元素计数功能的算法,即求得容器中元素总个数的算法。该功能由count()算法和count_if()条件记数算法来实现。其原型为:

978-7-111-51399-5-Chapter04-12.jpg

说明:count(Iterator begin,Iterator end)算法将统计在迭代器[begin,end]之内等于value的元素个数;count(Iterator begin,Iterator end,UnaryPredicateop)算法只有当op参数为“真”时,才统计元素的个数。

为了说明count()算法的使用方法,下面使用例4-4进行说明。

提示

值得注意的是,例4-4使用了bind2nd(greater<int>(),2),其意义是数值大于2的条件表达式。这种使用形式记住就可以了,随着使用次数的增多,印象会逐渐加深。

例4-4

978-7-111-51399-5-Chapter04-13.jpg

978-7-111-51399-5-Chapter04-14.jpg

例4-4的执行效果如图4-4所示。

978-7-111-51399-5-Chapter04-15.jpg

图4-4 例4-4的执行效果

总结

通过例4-4可知,count()算法既可以统计任何容器(本例是vector型容器)的元素个数,也可以通过条件表达式统计满足相应条件的元素个数。读者应注意各种条件的表达形式和使用方法。