STL的find,find_if函数提供了一种对数组、STL容器进行查找的方法。
#include <algorithm>
using namespace std;
(1)find的基本用法
find(iter1,iter2,value)
template<class InputIterator, class T>
InputIterator find ( InputIterator first, InputIterator last, const T& value )
{
for ( ;first!=last; first++) if ( *first==value ) break;
return first;
}
返回查到值的位置;
vector<int> vec;
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
vector<int>::iterator it = find(vec.begin(), vec.end(), 2); // 查找list中是否有元素“2”
if (it != lst.end())//存在
{
//do something
}
else//不存在
{
//do something
}
(2)查找对象且对象为类或是结构体
find(iter1,iter2,op)
返回查到值的位置;
查找需要判断:则需要在对象中实现一个判断相等的方法。