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;
}