当有了STL,你还在用遍历的土方法定位元素吗?

今天就来介绍一下,如何使用algorithm库里的find函数快速定位数组或向量中的元素。

首先当然要包含头文件:

 #include <algorithm>

它的基本语法是这样的:

iterator find( iterator start, iterator end, const TYPE& val );

参数就是要查找的范围的起始和结束位置(注意区间是左闭右开的)以及要查找的值。

比如查找向量中的值:

int num_to_find = 3;
vector<int> v1;
for (int i = 0; i < 10; i++)
{
v1.push_back(i);
}
vector<int>::iterator result;
result = find(v1.begin(), v1.end(), num_to_find);
if (result == v1.end())
{
cout << "Did not find any element matching " << num_to_find << endl;
}
else
{
cout << "Found a matching element: " << *result << endl;
}

又比如查找一个静态数组中的值:

int nums[] = { 3, 1, 4, 1, 5, 9 };
int num_to_find = 3;
int start = 0;
int end = 2;
int* result = find(nums + start, nums + end, num_to_find);
if (result == nums + end) {
cout << "Did not find any number matching " << num_to_find << endl;
}
else {
cout << "Found a matching number: " << *result << endl;
}

:记录以备忘

【C++】使用find函数快速定位元素的更多相关文章

  1. numpy中的快速的元素级数组函数

    numpy中的快速的元素级数组函数 一元(unary)ufunc 对于数组中的每一个元素,都将元素代入函数,将得到的结果放回到原来的位置 >>> import numpy as np ...

  2. 在控制台快速定位js函数

    最近在搞教务处的模拟登录,教务处用js加密密码和账号,为了构造能用的post数据,需要快速的找到对应的js代码.但是,那么多js代码,手动找会找到死的. 恰好学习了两个快速定位的方法:console ...

  3. 32位汇编第五讲,逆向实战干货,(OD)快速定位扫雷内存.

    32位第五讲,逆向实战干货,快速定位扫雷内存. 首先,在逆向之前,大家先对OD有一个认识. 一丶OD的使用 标号1: 反汇编窗口 (显示代码的地址,二进制指令,汇编代码,注释) 标号2: 寄存器窗口( ...

  4. 第14.11节 Python中使用BeautifulSoup解析http报文:使用查找方法快速定位内容

    一. 引言 在<第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问>介绍了BeautifulSoup对象的主要属性,通过这些属性可以访 ...

  5. 企业IT管理员IE11升级指南【16】—— 使用Compat Inspector快速定位IE兼容性问题

    企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...

  6. php快速定位多维数组的深度

    原文地址:php快速定位多维数组的深度作者:陌上花开 自定义一个函数: function array_depth($array)  { $max_depth = 1; foreach ($array ...

  7. selenium中的webdriver定位元素失败的常见原因

    自动化测试中经常会出现无法定位元素的情况,报selenium.common.exceptions.NoSuchElementException错误 Frame/Iframe原因定位不到元素: 这个是最 ...

  8. 32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看)

    32位汇编第四讲,干货分享,汇编注入的实现,以及快速定位调用API的数量(OD查看) 昨天,大家可能都看了代码了,不知道昨天有没有在汇编代码的基础上,实现注入计算器. 如果没有,今天则会讲解,不过建议 ...

  9. 逆向实战干货,快速定位自动捡阳光Call,或者标志

    逆向实战干货,快速定位自动捡阳光Call,或者标志 注意: 关于CE和OD的使用,这里不再多说,快速定位,默认大家已经有了CE基础,或者OD基础. 第一种方法,找Call 第一步,打开CE,搜索阳光值 ...

随机推荐

  1. sql server 查看版本

    SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'),SERVERPROPERTY ('edition') ...

  2. linux 文件 chgrp、chown、chmod

    linux 默认情况下有会提供6个terminal 来让用户登录,使用[Ctrl]+[Alt] +[F1]~[F6] 组合 linux 文件 任何一个文件都具有"user,Group及Oth ...

  3. 转】RMySQL数据库编程指南

    原博文出自于: http://blog.fens.me/category/%E6%95%B0%E6%8D%AE%E5%BA%93/page/2/ 感谢! Posted: Sep 24, 2013 Ta ...

  4. spark调试环境搭建

    到目前为止,基于RDD的spark streamming实时应用和离线应用(主要解析日志)已经写了一些,但是对spark的了解还是很少,所以决心花点精力,对spark做一些比较深入的了解和学习.参照之 ...

  5. [转]Asp.net Mvc2中重构View的三种方式

    本文转自:http://www.cnblogs.com/zhuqil/archive/2010/07/14/asp-net-mvc2-view-refactoring.html 我们在Asp.net ...

  6. [BZOJ1008][HNOI2008]越狱 组合数学

    http://www.lydsy.com/JudgeOnline/problem.php?id=1008 正着直接算有点难,我们考虑反着来,用全集减补集. 总的方案数为$m^n$.第一个人有$m$种可 ...

  7. BootStrap Select2组件

    想使用Select2组件必须引用:select2.min.css和select2.min.js两个文件:如下: 页面写法很简单: 在这里多选是没有搜索功能的,只有单选的时候才会有搜索功能. Selec ...

  8. php中 mysql 插入特殊字符(手机端的emoji表情)出现异常

    今天在用mysql存储从微信服务器拉来的数据,出现插入数据异常,报 Incorrect string value: '\xF0\x9F\x98\x97\xF0\x9F 的错误. 最终在网上查了一下,有 ...

  9. LoadRunner10自带的WEBTOURS,无法显示Flights页面问题解决办法

    [问题描述] 安装LoadRunner10之后,尝试打开自带的webTours页面学习.第一次可以打开,之后安装了一RFT.Oracle等软件,就出现页面无法显示问题.一直以为是Java的问题,尝试各 ...

  10. Android开发——蓝牙

    ---恢复内容开始--- 前言 孤芳自赏,一揽芳华: 人情冷暖,自在人心: 登高远眺,望步止前: 喜笑言开,欺人骗己. 上篇文章介绍了基本的蓝牙使用,书写的demo也不是很完善,希望各位大神能够改正. ...