当前位置: 首页 > news >正文

97.STL-查找算法 find

目录

STL-查找算法find

1.基本用法:

2.查找自定义类型:

3.查找范围:


STL-查找算法find

在C++的STL(标准模板库)中,find 算法用于在指定范围内查找指定值的元素。

功能描述:

  • 查找指定元素,找到返回指定元素的迭代器,找不到返回结束迭代器end()

函数原型:

  • find(iterator beg, iterator end, value);
  • // 按值查找元素,找到返回指定位置迭代器,找不到返回结束迭代器位置
  • // beg 开始迭代器
  • // end 结束迭代器
  • // value 查找的元素

以下是使用 find 算法的一些基本示例:

1.基本用法:

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;int main() {vector<int> numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };// 使用 find 查找数字 5vector<int>::iterator it = find(numbers.begin(), numbers.end(), 5);if (it != numbers.end()) {cout << "找到了:" << *it << endl;}else {cout << "未找到" << endl;}return 0;
}

2.查找自定义类型:

如果你在一个包含自定义类型的容器中查找元素,需要确保自定义类型有相应的比较方式,通常通过重载 == 运算符。

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;class Person {
public:string name;int age;Person() = default;Person(string n,int a):name(n),age(a){}bool operator==(const Person& p) {return name == p.name && age == p.age;}void print_person()const {cout << "name:" << name << " age:" << age;}
};void test02() {vector<Person> p;p.push_back(Person("xiaobai", 11));p.push_back(Person("xiaohong", 12));p.push_back(Person("xiaocheng", 13));p.push_back(Person("xiaohuang", 10));p.push_back(Person("xiaolv", 9));p.push_back(Person("xiaoqing", 12));p.push_back(Person("xiaolan", 11));p.push_back(Person("xiaozi", 10));vector<Person>::iterator it=find(p.begin(), p.end(), Person("xiaolv", 9));if (it == p.end()) {cout << "没有找到这个人" << endl;}else {cout << "找到了这个人"  << endl;it->print_person();}
}
int main() {test02();return 0;
}

 

 这里的 Person 类重载了 == 运算符,以便在查找时进行比较。

3.查找范围:

你可以指定查找的范围,而不是整个容器。

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;int main() {vector<int> numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };// 查找范围在前半部分vector<int>::iterator it = find(numbers.begin(), numbers.begin() + 5, 3);if (it != numbers.end()) {cout << "找到了:" << *it << endl;}else {cout << "未找到" << endl;}return 0;
}

 写在最后:以上就是本篇文章的内容了,感谢你的阅读。如果感到有所收获的话可以给博主点一个赞哦。如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~   

相关文章:

97.STL-查找算法 find

目录 STL-查找算法find 1.基本用法&#xff1a; 2.查找自定义类型&#xff1a; 3.查找范围&#xff1a; STL-查找算法find 在C的STL&#xff08;标准模板库&#xff09;中&#xff0c;find 算法用于在指定范围内查找指定值的元素。 功能描述&#xff1a; 查找指定元素&…...

如何应对雨天飞行的挑战?无人机机库防护能力解析

一、 背景介绍 无人机机库是无人机停放和起降场所&#xff0c;类似传统飞机的 hangar&#xff08;飞机库&#xff09;。它是一个专门用于存储、维护和保护无人机的设施。无人机机库的存在有助于提高无人机的安全性&#xff0c;同时也为无人机提供了一个有序的管理场所。 雨天…...

机器学习笔记 - 3D数据的常见表示方式

一、简述 从单一角度而自动合成3D数据是人类视觉和大脑的基本功能,这对计算机视觉算法来说是比较难的。但随着LiDAR、RGB-D 相机(RealSense、Kinect)和3D扫描仪等3D传感器的普及和价格的降低,3D 采集技术的最新进展取得了巨大飞跃。与广泛使用的 2D 数据不同,3D 数据具有丰…...

【Node.js】解决npm报错:RequestError: unable to verify the first certificate

1. 问题简述 帖主从nodejs官网下载安装nodejs后&#xff0c;发现使用以下命令安装electron会报错&#xff1a; npm install electron 报错信息如下&#xff1a; npm ERR! RequestError: unable to verify the first certificate 2. 解决方案 网上列举的方案&#xff0c;无…...

语言模型文本处理基石:Tokenizer简明概述

编者按&#xff1a;近年来&#xff0c;人工智能技术飞速发展&#xff0c;尤其是大型语言模型的问世&#xff0c;让 AI 写作、聊天等能力有了质的飞跃。如何更好地理解和利用这些生成式 AI&#xff0c;成为许多开发者和用户关心的问题。 今天&#xff0c;我们推出的这篇文章有助…...

淘宝商品详情数据接口(店铺搬家、数据分析、代购商城、ERP选品、无货源铺货、品牌监控)

使用淘宝API接口需要以下步骤&#xff1a; 注册开发者账号&#xff1a;在淘宝开放平台&#xff08;https://o0b.cn/anzexi&#xff09;上注册一个开发者账号&#xff0c;并创建一个应用。 获取API密钥&#xff1a;在应用页面上获取API密钥&#xff0c;这是后续调用API接口的凭…...

面试篇之微服务(一)

目录 概览 1.什么是微服务&#xff1f; 2.微服务带来了哪些挑战&#xff1f; 3.现在有哪些流行的微服务解决方案&#xff1f; 这三种方案有什么区别吗&#xff1f; 4.说下微服务有哪些组件&#xff1f; 注册中心 5.注册中心是用来干什么的&#xff1f; 6.SpringCloud可…...

智慧科研助力科研数据的分析处理

如今&#xff0c;科研领域的发展日新月异&#xff0c;数据量也越来越大。这时&#xff0c;智慧科研可视化技术不仅为科研人员提供了快速高效的数据分析手段&#xff0c;而且为科研工作的推进提供了新的思路和方法。通过可视化手段&#xff0c;我们可以将各种数据、信息、知识以…...

el-select实现分屏效果

动态绑定class值 &#xff0c;多种判断 :class"type 8 ? home-stye-2 : type 24 ? home-stye-1 : home-stye-3" <div class"home-right-top"><div class"home-right-top-video"><el-row :gutter"20"><el-c…...

微信小程序本地和真机调试文件上传成功但体验版不成功

可能是微信小程序ip白名单的问题&#xff0c;去微信公众平台&#xff08;小程序&#xff09;上设置小程序的ip白名单 1、在本地中取消不校验 然后在本地去上传文件&#xff0c;就会发现控制台报错了&#xff0c;会提示一个https什么不在ip白名单&#xff0c;复制那个网址 2、…...

windows系统用nginx部署web应用

要在Windows系统上使用Nginx进行本地部署和运行Web应用程序&#xff0c;可以按照以下步骤进行操作&#xff1a; 1.首先下载nginx&#xff0c;需要去nginx官网&#xff1a; nginx: download 下载最新版本的&#xff1a; 2.解压缩Nginx&#xff1a;找个磁盘位置&#xff0c;新…...

如何利用Python进行数据归一化?

1. 知识简介 数据归一化是数据预处理的一项重要步骤&#xff0c;它对于提高模型性能、加速模型训练、避免数值计算问题以及提高模型的泛化能力都具有重要作用。进行数据归一化可以起到以下作用&#xff1a;消除量纲影响&#xff0c;加速模型收敛&#xff0c;提高模型性能&…...

Linux 基本语句_13_消息队列

概念&#xff1a; 不同进程能通过消息队列来进行通信&#xff0c;不同进程也能获取或发送特定类型的消息&#xff0c;即选择性的收发消息。 一般一个程序采取子进程发消息&#xff0c;父进程收消息的模式 常用函数功能&#xff1a; fork(); // 创建子进程 struct msgbuf{ …...

Maven——仓库

Maven坐标和依赖是任何一个构件在Maven世界中的逻辑表示方式&#xff1b;而构件的物理表示方式是文件&#xff0c;Maven通过仓库来统一管理这些文件。 1、何为Maven仓库 在Maven世界中&#xff0c;任何一个依赖、插件或者项目构建的输出&#xff0c;都可以称为构件。例如&…...

Pandas:一个实用高效的Python数据处理库

个人网站 文章首发公众号&#xff1a;小肖学数据分析 导语&#xff1a; Pandas是一个强大且易于使用的Python数据处理库&#xff0c;广泛应用于数据分析和数据科学领域。本文将介绍Pandas库的基本概念、功能和使用方法&#xff0c;并提供详细的示例&#xff0c;帮助小白快速…...

Spring第三课,Lombok工具包下载,对应图书管理系统列表和登录界面的后端代码,分层思想

目录 一、Lombok工具包下载 二、前后端互联的图书管理系统 规范 三、分层思想 三层架构&#xff1a; 1.表现层 2.业务逻辑层 3.数据层 一、Lombok工具包下载 这个工具包是为了做什么呢&#xff1f; 他是为了不去反复的设置setting and getting 而去产生的工具包 ⚠️工具…...

DDoS高防IP到底是什么?

DDoS高防IP是提供一个带防御的IP&#xff0c;主要是针对网络中的DDoS攻击进行保护&#xff0c;是针对互联网服务器遭受大流量的DDoS攻击后&#xff0c;导致服务不可用的情况下&#xff0c;用户可以通过配置高防IP&#xff0c;将攻击流量引流到高防IP上&#xff0c;从而确保源站…...

el-row错位问题解决

<el-row type"flex" style"flex-wrap:wrap">...

torch indices x[indices] 内存不足崩溃,python进程锁报错。

报错 Process Process-167: Traceback (most recent call last):File "/usr/lib/python3.10/multiprocessing/process.py", line 317, in _bootstraputil._exit_function()File "/usr/lib/python3.10/multiprocessing/util.py", line 360, in _exit_funct…...

第二证券:机构争分夺秒抢滩 金融大模型落地为时尚早

本年以来&#xff0c;大模型席卷金融业&#xff0c;一夜之间&#xff0c;简直悉数金融场景都在探索适配大模型接口。但是&#xff0c;志向丰满&#xff0c;实践骨感。有大型金融组织IT部分人士比方&#xff0c;金融大模型从战略规划到安顿落地&#xff0c;有着从“卖家秀”走到…...

高炮广告牌哪个公司好

开篇&#xff1a;定下基调在当今的广告宣传领域&#xff0c;高炮广告牌以其显著的位置和强大的视觉冲击力&#xff0c;成为众多企业推广品牌和产品的重要选择。本次测评旨在为对高炮广告牌感兴趣的人群&#xff0c;提供一份客观、专业的参考&#xff0c;帮助大家了解市场上不同…...

C++ 智能指针在 STL 容器中的应用

C智能指针在STL容器中的应用 在现代C开发中&#xff0c;智能指针和STL容器是两大核心工具。智能指针通过自动管理内存&#xff0c;显著降低了资源泄漏的风险&#xff1b;而STL容器则提供了高效的数据存储和操作方式。将两者结合使用&#xff0c;既能确保内存安全&#xff0c;又…...

# 005、游戏控制自动化基础:PyAutoGUI模拟键鼠与动作时序设计

昨天深夜调试一个自动打怪脚本时,遇到了诡异的问题——角色总是在释放技能后卡住不动。盯着屏幕看了半小时才发现,原来技能释放动画还没结束,脚本就急吼吼地点击了移动指令,两个事件堆在一起把游戏客户端搞懵了。这种时序问题在游戏自动化里太常见了,今天咱们就聊聊怎么用…...

从电路仿真到面包板:手把手验证三端LC振荡器的相位平衡条件(附Multisim文件)

从电路仿真到面包板&#xff1a;手把手验证三端LC振荡器的相位平衡条件 在电子电路设计中&#xff0c;LC振荡器作为基础却至关重要的电路模块&#xff0c;其稳定性和可靠性直接影响整个系统的性能。而相位平衡条件&#xff0c;这个看似简单的"两同&#xff08;电抗性质&am…...

Qwen2.5-72B-Instruct-GPTQ-Int4惊艳效果:多语言混合输入+统一语义理解测试

Qwen2.5-72B-Instruct-GPTQ-Int4惊艳效果&#xff1a;多语言混合输入统一语义理解测试 1. 模型概述 Qwen2.5-72B-Instruct-GPTQ-Int4是Qwen大型语言模型系列的最新版本&#xff0c;代表了当前开源大模型领域的顶尖水平。这个经过GPTQ 4-bit量化的720亿参数指令调优模型&#…...

Chord视频时空定位惊艳效果:边界框动态跟踪+毫秒级时间戳可视化呈现

Chord视频时空定位惊艳效果&#xff1a;边界框动态跟踪毫秒级时间戳可视化呈现 1. 工具核心能力展示 Chord视频时空理解工具基于先进的Qwen2.5-VL架构开发&#xff0c;专门解决视频内容分析的复杂需求。与传统图像分析工具不同&#xff0c;Chord能够理解视频中的时序信息&…...

Qwen2.5-VL图文对话模型5分钟快速部署:vllm+chainlit一键搭建教程

Qwen2.5-VL图文对话模型5分钟快速部署&#xff1a;vllmchainlit一键搭建教程 1. 环境准备与快速部署 1.1 系统要求 推荐配置&#xff1a;Linux系统&#xff08;Ubuntu 20.04&#xff09;GPU&#xff1a;至少16GB显存&#xff08;如NVIDIA RTX 3090/A100&#xff09;内存&…...

PP-DocLayoutV3实战教程:解决OCR漏检/错序问题的布局预处理方案

PP-DocLayoutV3实战教程&#xff1a;解决OCR漏检/错序问题的布局预处理方案 1. 引言&#xff1a;为什么需要专业的文档布局分析&#xff1f; 你有没有遇到过这样的情况&#xff1a;用OCR工具识别扫描文档时&#xff0c;文字顺序乱七八糟&#xff0c;标题被误认为正文&#xf…...

IndexTTS 2.0应用案例:如何用它快速生成有声书和播客内容

IndexTTS 2.0应用案例&#xff1a;如何用它快速生成有声书和播客内容 1. 引言&#xff1a;声音创作的新范式 在数字内容爆炸式增长的今天&#xff0c;有声书和播客市场正以每年20%以上的速度扩张。但高质量音频内容的制作却面临两大痛点&#xff1a;专业配音成本高昂&#xf…...

Quartus II ROM IP核的配置与高效初始化文件生成技巧

1. ROM IP核基础与使用场景 在FPGA开发中&#xff0c;ROM&#xff08;Read-Only Memory&#xff09;是一种常用的存储元件。与RAM不同&#xff0c;ROM中的数据在配置后是固定不变的&#xff0c;非常适合存储不需要频繁修改的配置数据、查找表或预置参数。Quartus II作为业界主流…...