【足迹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 ...
随机推荐
- 图片组件——axure线框图部件库介绍
我们在后面的组件使用中,都统一使用"从部件区域拖拽图片组件到页面区域中" 1. 图片载入 1.1 将图片组件拖拽到页面区域 1.2 双击图片组件 1.3 选择合适图片,点击打开 1 ...
- java WEB Response重定向和缓存控制
package cn.com; import java.io.IOException; import javax.servlet.ServletException; import javax.serv ...
- HTTP协议结构
HTTP报文=从客户机到服务器的请求+从服务器到客户机的响应 1.请求报文的格式如下: 请求头 通用信息头 请求头 实体头 报文主体 请求行的格式为: Method[分隔符]Re ...
- 【ASP.NET Web API教程】2.3 与实体框架一起使用Web API
原文:[ASP.NET Web API教程]2.3 与实体框架一起使用Web API 2.3 Using Web API with Entity Framework 2.3 与实体框架一起使用Web ...
- 【Demo 0005】Android 资源
本章学习要点: 1. 了解Android中资源用途: 2. 掌握资源使用通用规则: 3. 掌握具体资源使用方法; 一.Android资源 a ...
- Trufun云端建模平台之云端UML工具发布
Trufun云端建模平台包括云端UML工具,云端BPMN工具,云端思维导图工具. 云端UML工具是目前最先进的基于HTML5的UML2.x建模工具,所有代码基于JAVA开发,支持类图.用例图.活动图. ...
- 存储的几个LUN问题
存储的几个LUN问题 . ---整理自EMC论坛 1. Linux中如何识别LUN?(AIX是否也差不多) 当创建好LUN并建好storage group后,主机(linux)可以直接用fdisk - ...
- ios捕获异常并发送图片,便于解决bug
在开发过程中,我们有时候会留下Bug,用户在使用我们的app 的时候,有时会出现闪退,这时候我们能够让用户给我们发送邮件,以让我们开发者更加高速的地位到Bug的所在.以最快的时间解决.同一时候也提高用 ...
- ubuntu12.10下arm-linux-gcc交叉编译环境的搭建
交叉编译环境搭建的原因:通俗上讲,因为嵌入式系统可用资源比较少:几十M的ARM 二三百M的flash相对我们的pc机来说资源真的没法比.所以,为了解决这种局面就将PC机等作为主机,搭建开发环境,进行编 ...
- sql plus 抢救数据(測)
有索引 --运行plsql脚本 DECLARE TYPE RowIDTab ISTABLE OF ROWID INDEXBY BINARY_INTEGER; CURSORc1 IS selec ...