首页 > 编程语言 >C++常用查找算法 find

C++常用查找算法 find

时间:2023-03-09 23:57:50浏览次数:36  
标签:end back C++ Person 查找 include find

功能描述:

  • 查找指定元素,找到返回指定元素的迭代器,找不到返回结束迭代器end()
#include<iostream>
#include<vector>
#include<functional>
#include<algorithm>
#include<string>
using namespace std;
//常用查找算法 find


//查找 内置数据类型
void test1() {
    vector<int> v;

    for (int i = 0; i < 10; i++) {
        v.push_back(i);
    }

    //查找容器中是否有 元素 5 
    vector<int>::iterator it = find(v.begin(), v.end(), 5);
    if (it == v.end())
    {
        cout << "没有找到元素5" << endl;
    }
    else
        cout << "找到"<<*it << endl;


}
 

//查找自定义类型
class Person
{
public:
    Person(int a,string s) {
        age = a;
        name = s;

    }
    bool operator==(const Person& p) {
        if (this->name == p.name && this->age == p.age)
        {
            return true;
        }
        else
            return false;

    }
    int age;
    string name;
};

void test2() {
    vector<Person> v;

    Person p1(10, "dan");
    Person p2(12, "shao");
    Person p3(14, "fan");
    Person p4(8, "yang");
    v.push_back(p1);
    v.push_back(p2);
    v.push_back(p3);
    v.push_back(p4);
    Person p5(8, "yang");

    //查找容器中是否有 元素 5 
    vector<Person>::iterator it = find(v.begin(), v.end(), p5);
    if (it == v.end())
    {
        cout << "没有找到元素5" << endl;
    }
    else
        cout << "姓名: " << it->name <<"   年龄:"<<it->age<< endl;


}
 
 
 
int main() {

    test1();
    test2();
    


    return 0;
}

 

标签:end,back,C++,Person,查找,include,find
From: https://www.cnblogs.com/ggbond00/p/17201955.html

相关文章

  • 【MYSQL】字符串操作函数(拼接、截取、替换、查找位置)
    字符串类型的函数函数用法ASCIl(S)返回字符串S中的第一个字符的ASCII码值CHAR_LENGTH(s)返回字符串s的字符数。作用与CHARACTER_LENGTH(s)相同LENGTH(s)......
  • 第3章 C++语言高级专题一
    C++语言基础概述C++语言发展历史​ 自从1946年第一台电子数字计算机ENIAC问世以来,随着计算机应用领域的不断扩大,促进了计算机技术的告诉发展,尤其是今年来计算机的硬件和......
  • find命令 – 根据路径和条件搜索指定文件
    语法格式:find[路径][参数]常用参数:参数解释-name匹配名称参考案例:find/-name"*.txt"find/root-path'/root/H5_fort_install_v2.8.0.14'-prune......
  • [学习笔记]《C++ Primer》第七章 类
    thisthis是常量指针,指向非常量版本的类MyClass*const成员函数(memberfunction)所有成员都必须在类的内部声明,但成员函数体可以定义在类内或类外。->成员函数的调用:调......
  • [Primer] 第 18 章 探讨 C++ 新标准
    第18章探讨C++新标准18.1复习前面介绍过的C++11功能新增longlong和unsignedlonglong类型。使用大括号进行内置数据或对象的初始化,可以不添加等号;也提供......
  • 记录一下linux系统编译C++版opencv
    安装:https://blog.csdn.net/NeoZng/article/details/126065521装完后:查看头文件和库文件目录:pkg-config--libsopencv4pkg-config--cflagsopencv4查看OpenCV版本......
  • linux查找出进程号并kill
    使用pgrep 方式一:pgrep-fjava|awk'{print"kill-9"$1}'|sh&sh执行前面print出来的命令“kill-9”方式二:pgrep-fjava|xargskill-9  xargs命令是用来......
  • C++常用遍历算法 transform
    功能:将容器搬运到另一个容器#include<iostream>#include<vector>#include<functional>#include<algorithm>usingnamespacestd;//遍历函数transformclassTr......
  • c++编程,对2048小游戏的扩充
    原游戏网址:(210条消息)C++小游戏(原创)——2048_c++小游戏下载_Ziwen.紫闻的博客-CSDN博客源代码: #include<iostream>#include<stdlib.h>#include<time.h>#include<......
  • c++ 代码技巧
    数学运算性能大多数数据运算不存在性能问题,但是相对来说,整型的除法运算还是比较昂贵的。参考下面的例子:uint32_tBM_S1(uint64_tv){uint32_tresult=0;do{......