find函数

来源:互联网 发布:新疆教师网络研修 编辑:程序博客网 时间:2024/06/01 23:10

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;

}