一.count函数

algorithm头文件定义了一个count的函数,其功能类似于find。这个函数使用一对迭代器和一个值做参数,返回这个值出现次数的统计结果。

编写程序读取一系列int型数据,并将它们存储到vector对象中,然后统计某个指定的值出现了多少次。

核心代码:

cout<

具体实现: //读取一系列int数据,并将它们存储到vector对象中, //然后使用algorithm头文件中定义的名为count的函数, //统计某个指定的值出现了多少次 #include #include #include using namespace std; int main() { int ival , searchValue; vector ivec; //读入int型数据并存储到vector对象中,直至遇到文件结束符 cout<> ival) ivec.push_back(ival); cin.clear(); // 使输入流重新有效 //读入欲统计其出现次数的int值 cout<>searchValue; //使用count函数统计该值出现的次数并输出结果 cout<

二.count_if函数

count_if :返回区间中满足指定条件的元素数目。 template

typename iterator_traits::difference_type count_if(

InputIterator_First,

InputIterator_Last,

Predicate_Pred

);

Parameters

_First 输入迭代器,指向将被搜索的区间第一个元素的位置。

_Last 输入迭代器,指向将被搜索的区间最后一个元素后面的。

_Pred 用户自定义的 predicate function object ,定义了元素被计数需满足的条件。 predicate 只带一个参数,返回 true 或 false.

Return Value

满足断言(predicate)(也称为谓词)指定条件的元素数。

Remarks

这个模板函数是书法count的泛化版本,用断言指定的条件代替等于一个指定的值。

Example #include #include #include bool greater10(int value) { return value >10; } int main() { using namespace std; vector v1; vector::iterator Iter; v1.push_back(10); v1.push_back(20); v1.push_back(10); v1.push_back(40); v1.push_back(10); cout << "v1 : "; for (Iter = v1.begin(); Iter != v1.end(); Iter++) cout << *Iter << " "; cout << endl; vector::size_type result1 = count_if(v1.begin(), v1.end(), greater10); //count_if算法返回使谓词函数返回条件成立的元素个数 cout << "The number of elements in v1 greater than 10 is: " << result1 << "." << endl; return 0; }

谓词(predicate):是做某些检测的函数,返回用于条件判断的类型,指出条件是否成立。

总结:

count : 在序列中统计某个值出现的次数 count_if : 在序列中统计与某谓词匹配的次数

c语言中count的头文件,C++ STL算法系列1---count函数相关推荐

  1. C语言中:在头文件中使用static定义变量意味着什么?

    C语言中:在头文件中使用static定义变量意味着什么? 看到有一位同学在头文件中这么写: static const wchar_t* g_str1 = - static const wchar_t* ...

  2. c语言头文件格式图片_c语言中的.h头文件的格式

    #ifndef __digital_h__ #define __digital_h__ #ifndef __cplusplus extern "C"{ #endif #ifdef  ...

  3. c语言中pair的头文件,C++中使用pair是否一定要包含头文件utility

    我们知道C++中pair模板包含在中,书上也说要使用pair应该加入头#include,嗯,这没有错.只是,我们是否可以不加入这个头?要知道在大点的程序中少加载些头文件是节省运行时间的主要途径之一.我 ...

  4. C语言中的stdlib头文件解析

    stdlib 头文件即standard library(标准库)头文件,里面包含了C.C++语言的最常用的系统函数.包括动态内存管理.随机数生成.与环境之间的通信.整数运算.搜索.排序及转换等. st ...

  5. C语言中的conio头文件,C中的conio.h头文件在VC++中是什么?

    满意答案 ne9313 2013.05.25 采纳率:41%    等级:12 已帮助:6686人 conio.h不是C标准库中的头文件,其包含的函数有: cgets(char *); cprintf ...

  6. C语言中的string头文件解析

    标准库提供了一些函数用于处理字符串,它们的原型位于头文件string.h中. •string.h头文件定义了一个变量: size_t:这是无符号整数类型,它是 sizeof 关键字的结果. •定义了一 ...

  7. c语言中floox的头文件,PC-1211袖珍计算机在合成氨厂生产中的应用 第五讲 循环语句(FOR-NEXT语句)...

    PC-1211袖珍计算机在合成氨厂生产中的应用 第五讲 循环语句(FOR-NEXT语句) 在化工生产中为了分析两个或两个以上参数对生产的影响往往需要进行某些有规律的重复计算.这些计算在程序中可以用赋值 ...

  8. c语言中的sched头文件,使用sched库完成周期定时任务

    我们经常需要定时的执行某个任务,在Linux下我们有强大的crontab 我们经常需要定时执行某个任务,在linux下有强大的crontab,在python里除了第三方模块外,python自带了sch ...

  9. 【C 语言】文件操作 ( 文件加密解密 | 使用第三方 DES 加密解密库 | 头文件导入 | 兼容 C++ 语言 | 加密解密函数说明 )

    文章目录 一.导入第三方库头文件 二.头文件说明 1.兼容 C++ 语言 2.头文件导入限制 3.加密解密函数说明 一.导入第三方库头文件 对文件进行加密 , 将文件中的数据分成若干块 , 一块一块的 ...

最新文章

  1. leetcode_486. Predict the Winner
  2. JQuery Highcharts图表控件使用说明
  3. SAP ERP物料和SAP Cloud for Customer的同步
  4. 为Android应用程序添加社会化分享功能
  5. OpenTelemetry - 云原生下可观测性的新标准
  6. html+注释格式化,使用xml注释来生成格式化的html输出
  7. 小米9android q测试版,基于Android Q的MIUI来了 小米9尝鲜
  8. 图像识别_2010暑期实训有感【二】
  9. php mysql 连接类_深入理解php的MySQL连接类
  10. js 正则判断用户是否输入表情
  11. Softmax, DNN, WideDeep Model
  12. Java中Spring报错org.springframework.core.annotation.AnnotationUtils.clearCache()V
  13. 今日头条电脑版官方版_imclass电脑版下载-imclass在线教室pc版下载 v1.0.2 官方版...
  14. 什么是图像上的频率?
  15. python抽奖程序_抽奖程序python
  16. 1.1微信支付之现金红包 - Java 开发
  17. 第十届蓝桥杯 2019年国赛 最优旅行
  18. KVM中给windows虚拟机安装virtio驱动
  19. Error Code: 1318. Incorrect number of arguments for PROCEDURE student.new_procedure; expected 0, got
  20. java sql2005驱动_sqljdbc.jar下载-sqljdbc.jar 2005下载官方版-jdbc连接数据库mssql驱动西西软件下载...

热门文章

  1. 1.4 19:简单计算器
  2. 强强联合!百望云入驻微软实验室,揭开数智发展新篇章!
  3. BI现状和未来发展趋势
  4. cube 设置滴答定时器_STM32CubeMX | 27-系统滴答定时器Systick的使用
  5. 初中计算机课word教学内容,初中计算机的教学计划
  6. 向下兼容性格什么意思_男人择偶“向下兼容”,背后的2个真相是什么?
  7. 走进算法和数据结构(一)——算法绪论(一)
  8. 【制作coco数据集】
  9. ECDSA数字签名算法(java实现ECDSA签名验签)
  10. Microsoft Exchange Server 2003 反垃圾邮件部署