博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
10.1-10.2泛型算法
阅读量:6786 次
发布时间:2019-06-26

本文共 1842 字,大约阅读时间需要 6 分钟。

//10 初识泛型算法void genericAlgorithm(){    //在输入序列中查找特定元素0,如果找到该元素则返回指向它的迭代器(如果有多个则指向第一个),否则返回iVec.end()    auto iter = find(iVec.begin(), iVec.end(), 0)    //查找特定值个数的算法,在输入序列中查找特定值 num 的个数,可以是string    int counts = count(iVec.begin(), iVec.end(), num);    //查找特定值个数的算法    int i = count_if(iVec.begin(), iVec.end(), [](int num) {
return num < 0; }); //输入序列求和,第三个参数 0 为初始值 int sum = accumulate(iVec.begin(), iVec.end(), 0); //equal 比较两个序列 equal(iVec1.begin(), iVec1.end(), iVec2.begin()); //序列赋值,序列值全部赋值为0 fill(iVec.begin(), iVec.end(), 0); //序列赋值,序列前5个元素赋值为0,确保能容纳下5个元素是程序员的责任 fill_n(iVec.begin(), 5, 0); //插入迭代器 vector
iVec; auto iter = back_inserter(iVec); //形参为vec的引用,返回值为与容器绑定的插入迭代器 iter = 2; //赋值时会调用push_back //copy算法,将输入序列的值拷贝至输出序列,返回值为目的位置(_OutIt _Dest)迭代器的值 auto iter = copy(_InIt _First, _InIt _Last, _OutIt _Dest); //替换算法,将输入序列中的0全部替换为2,改变了输入序列 replace(iVec.begin(), iVec.end(), 0, 2); //copy一份输入序列,且将其中的0全部替换为2, replace_copy(iVec.begin(), iVec.end(),back_inserter(iVec1) 0, 2); //接受“可调用对象”的替换算法,将iVec中的负数全部转换为正数 transform(iVec.begin(), iVec.end(), iVec.begin(), [](int num) {
return num < 0 ? -num : num; }); //序列重新排序(升序,可以指定一个二元谓词使其降序) sort(iVec.begin(), iVec.end()); //序列重新排序(稳定版) stable_sort(iVec.begin(), iVec.end()); //消除相邻的重复项,返回最后一个不重复元素的迭代器 auto end_unique = unique(iVec.begin(), iVec.end()); //序列分区算法,将字符数大于5的放前面,用到谓词见下章 bool compare5(string str) { return str.length() > 5; } //序列分区算法 partition(vecStr.begin(), vecStr.end(), compare5); //第三个参数是一元谓词,返回指向 第一个使谓词返回非0的元素的迭代器,否则返回尾迭代器 find_if(iVec.begin(), iVec.end(), /*一元谓词*/) //对输入序列中的每个元素调用 “可调用对象” for_each(iVec.begin(), iVec.end(), /*可调用对象*/);}
View Code

 

转载于:https://www.cnblogs.com/liyubo/p/7868699.html

你可能感兴趣的文章
angular 动态设置blob链接给 ng-href时遇到unsafe 解决方案
查看>>
Java与Highcharts实例(四) - Hello Highcharts (后台Java传递数
查看>>
连接数据库的操作 总结
查看>>
Android 小米手机开发APP图标更换后还显示原来的图标
查看>>
在代码中修改Shape的solid属性的color值
查看>>
MySQL字符集问题
查看>>
Java多线程总结
查看>>
iPad Mini外屏碎了 换屏幕教程
查看>>
LinkedBlockingQueue操作,线程安全问题,ConcurrentModificationException 异常分析与解决方案...
查看>>
redis3.2新功能--GEO地理位置命令介绍与实战开发
查看>>
java 通过ssh 执行命令
查看>>
算法导论——基数排序(基于计数排序)
查看>>
19.TCP的交互数据流
查看>>
字符串匹配的Boyer-Moore算法
查看>>
memcached数据库未授权访问漏洞解决
查看>>
centos 7 安装在vmware Workstation的网卡问题 RHEL7
查看>>
嵌入式开发平台-iTOP-4418开发板
查看>>
我的友情链接
查看>>
ssh配置公钥私钥(key)登录SecureCRT
查看>>
go 字符串长度为空的判断 效率
查看>>