C++ 泛型算法之find(用于查询特定元素)

find算法声明:#include<algorithm>

传递给find的前两个参数是表示元素范围的迭代器,第三个数是一个值,find将范围中的每个元素与给定的值进行比较,如果有匹配元素,则返回第一个等于给定值的元素的迭代器,如果无匹配值,则返回find中第二个用来表示范围的迭代器参数来表示搜索失败。

find不仅可以应用于容器,还可以应用与内置数组,还可以在序列的子范围查找。

#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
    int a[5] = {1,2,3,4,5};
    int val = 4;
   // vector<int>::iterator it = find(a.begin(),a.end(),val);
    int *it = find(a,a+5,val);             //此处返回为指针
    cout<<"the value is "<<((it==a+5)?"not find":"is find")<<endl;
    cout<<*it<<endl;

    string b("hello");
    char chr = 'o';
    string::iterator it1 = find(b.begin(),b.end(),chr);
    cout<<"the value is "<<((it1==b.end())?"not find":"is find")<<endl;
    cout<<*it1<<endl;
    return 0;
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值