1. find算法用于查找等于某值的元素。它在迭代器区间[first , last)上查找等于value值的元素,如果迭代器iter所指的元素满足 *iter == value ,则返回迭代器iter,未找则返回last。
2. find_if算法是检查迭代器区间[first, last)上的每一个元素,如果迭代器iter满足pred(*iter)== true,表示找到元素并返回迭代器值iter;未找到元素,则返回last。
#include<vector>
#include<iostream>
#include<algorithm>
using namespace std;
int fun(int &i){
return i%2 ?0:1;
}
int main(){
vector<int > v1 = {2,3,4,5,67,8,9};
vector<int>::iterator it;
it = find(v1.begin() , v1.end() ,5);
if(it==v1.end())
cout<<"can not find..."<<endl;
else
cout<<"find..."<<*it<<endl;
it= find_if(v1.begin(),v1.end(),fun);
if(it==v1.end())
cout<<"can not find..."<<endl;
else
cout<<"find..."<<*it<<endl;
}
http://blog.csdn.net/jerryjbiao/article/details/6832334