find函数:在给定的范围区间内,查找是否存在value,若存在返回一个指针,指向它所找到的第一个符合条件的元素,若不存在,则返回最后一个元素的下一位置
源码:
template<class Iterator,class T>
Iterator find(InputIterator begin,InputIterator end,const T& value){
while(*begin!=value&&begin!=end)
++begin;
return begin;
}
find函数是个模板函数接受两个数据类型:InputIterator迭代器和一个T类型的常量。
实现:
1、数组
int main(){
int size=7;
int ia[]={0,1,2,3,4,5,6};
int *end=ia+size;
int* ip=find(ia,end,3);
if(ip==end)
cout<<"NO!"<<endl;
else
cout<<"YES"<<*ip<<endl;
return 0;
}
2、容器
int main(){
int size=7;
int ia[]={0,1,2,3,4,5,6};
vector<int>iv(ia,ia+size);
auto ip=find(iv.begin(),iv.end(),5);
if(ip==iv.end())
cout<<"NO!"<<endl;
else
cout<<"YES"<<*ip<<endl;
}