【足迹C++primer】30、概要(泛型算法)
概要(泛型算法)
标准库也是第一个文件numeric它定义了一套通用算法。
#include<iostream>
#include<numeric>
#include<vector>
#include<algorithm> using namespace std; int main()
{
vector<int> vec;
for(size_t t=0 ; t != 44 ; ++t)
{
vec.push_back(t);
} int val=42; //我们将查找的值
//假设在vec中找到想要的元素,则返回结果指向它,否则返回结果为vec.cend()
auto result=find(vec.cbegin(), vec.cend(), val);
//报告结果
cout<<"The value "<<val
<<(result==vec.cend()? " is not present":" is present")<<endl; return 0;
}
调用find方法,在vec.cbegin()和vec.cend()之间查找val找到了result指向那个元素。result是迭代器,没找到就返回第二个參数。就是cend().
string val="a value"; //我们要查找的值
//此调用在list中查找string元素
auto result=find(lst.cbegin(), lst.cend(), val);
算法怎样工作
此值和步骤3返回的值必须具有相容的类型。
/**
* 功能:泛型概述
* 时间:2014年6月16日08:10:18
* 作者:cutter_point
*/ #include<iostream>
#include<numeric>
#include<vector>
#include<algorithm>
#include<string> using namespace std; int main()
{ vector<int> vec={22,22,22,2,222,2,22,22,222,22,2,2,22,22};
int val=22; auto result=count(vec.cbegin(), vec.cend(), val); cout<<"要找的值是:"<<val<<endl
<<"出现了 "<<result<<" 次"<<endl; /*
string val="a value"; //我们要查找的值
//此调用在list中查找string元素
auto result=find(lst.cbegin(), lst.cend(), val); vector<int> vec;
for(size_t t=0 ; t != 44 ; ++t)
{
vec.push_back(t);
} int val=42; //我们将查找的值
//假设在vec中找到想要的元素,则返回结果指向它,否则返回结果为vec.cend()
auto result=find(vec.cbegin(), vec.cend(), val);
//报告结果
cout<<"The value "<<val
<<(result==vec.cend()?" is not present":" is present")<<endl;
*/
return 0;
}
版权声明:本文博客原创文章,博客,未经同意,不得转载。
【足迹C++primer】30、概要(泛型算法)的更多相关文章
- C++ Primer : 第十章 : 泛型算法 之 只读、写和排序算法
大多数算法都定义在<algorithm>头文件里,而标准库还在头文件<numeric>里定义了一组数值泛型算法,比如accumulate. ● find算法,算法接受一对迭代 ...
- C++ Primer : 第十章 : 泛型算法 之 lambda表达式和bind函数
一.lambda表达式 lambda表达式原型: [capture list] (parameter list) -> retrue type { function body } 一个lambd ...
- 【C++ Primer | 07】泛型算法
定制操作 #include <iostream> #include <string> #include <vector> #include <algorith ...
- 【C++ Primer | 10】泛型算法
#include<iostream> #include<algorithm> #include<vector> #include<string> #in ...
- C++ Primer 5th 第10章 泛型算法
练习10.1:头文件algorithm中定义了一个名为count的函数,它类似find,接受一对迭代器和一个值作为参数.count返回给定值在序列中出现的次数.编写程序,读取int序列存入vector ...
- C++ Primer 读书笔记:第11章 泛型算法
第11章 泛型算法 1.概述 泛型算法依赖于迭代器,而不是依赖容器,需要指定作用的区间,即[开始,结束),表示的区间,如上所示 此外还需要元素是可比的,如果元素本身是不可比的,那么可以自己定义比较函数 ...
- [C++ Primer] : 第10章: 泛型算法
概述 泛型算法: 称它们为"算法", 是因为它们实现了一些经典算法的公共接口, 如搜索和排序; 称它们是"泛型的", 是因为它们可以用于不同类型的元素和多种容器 ...
- C++ Primer 学习笔记_45_STL实践与分析(19)--泛型算法的结构
STL实践与分析 --泛型算法的结构 引言: 正如全部的容器都建立在一致的设计模式上一样,算法也具有共同的设计基础. 算法最主要的性质是须要使用的迭代器种类.全部算法都指定了它的每一个迭代器形參可使用 ...
- c++ primer 11 泛型算法
使用泛型算法必须包含头文件#inlucde <algorithm> 标准库还定义一组泛化的算术算法,其命名习惯与泛型算法相同,包含头文件#include <numeric> f ...
随机推荐
- 基于visual Studio2013解决面试题之0609寻找链表公共节点
题目
- 1.1.5-学习Opencv与MFC混合编程之---画图工具 输入文字和填充图像 修改光标
源代码:http://download.csdn.net/detail/nuptboyzhb/3961696 输入文字 l 对话框 1. 插入,资源,选择对话框资源 2. 编辑对话框如下: ...
- 页面导出生成pdf,使用wkhtmltopdf第三方工具
把页面导出生成pdf,这里用到第三方的工具,使用方法中文文档没有找到,网上也没找到网友详细的神作.没有深入研究,所以也不赘述了,当然最基本的使用大多数也够用了,详细参数的官网也没介绍,大家使用的时候, ...
- find: paths must precede expression(转)
find: paths must precede expressionUsage: find [-H] [-L] [-P] [path...] [expression] 然后就上网查了一下,结果搜索到 ...
- zabbix 获取jvm session信息
zabbix:/root# java -jar /root/cmdline-jmxclient-0.10.3.jar - 121x:5566 "Catalina:type=Manager,c ...
- 找工作笔试面试那些事儿(16)---linux相关知识点(1)
linux这部分的知识倒不是笔试面试必考的内容,不过现在很多公司开发环境都在linux系统下,一些简单的知识还是需要了解一下的,笔试面试中万一碰到了,也不会措手不及.作为菜硕的我,又因为读研期间的项目 ...
- 【从零学习经典算法系列】分治策略实例——高速排序(QuickSort)
在前面的博文(http://blog.csdn.net/jasonding1354/article/details/37736555)中介绍了作为分治策略的经典实例,即归并排序.并给出了递归形式和循环 ...
- ASP.NET - GridView实现点击编辑列
加载: 点击编辑: 数据库设计: 前端代码: DataKeyNames="ID" 设置点击“编辑”选项的时候,要获取的值,一般获取ID主键,便于修改数据. AutoGenerat ...
- [置顶] cocos2d-x 3.0游戏开发xcode5帅印博客教学 004.[HoldTail]主角的上下飞行跟移动
cocos2d-x 3.0游戏开发xcode5帅印博客教学 004.[HoldTail]主角的上下飞行跟移动 写给大家的前言,在学习cocos2d-x的时候自己走了很多的弯路,也遇到了很多很多问题,不 ...
- NIO框架之MINA源码解析(转)
http://blog.csdn.net/column/details/nio-mina-source.html http://blog.csdn.net/chaofanwei/article/det ...