1、search()
search(ideq.begin(),ideq.end(), ilist.begin(), ilist.end());
2、find_end()
find_end(ideq.begin(), ideq.end(),ilist.begin(),ilist.end());
也可以用谓词:
bool checkEven(int elem, bool even)
{
if(even)
return elem % 2 == 0;
else
return elem % 2 == 1;
}
{
if(even)
return elem % 2 == 0;
else
return elem % 2 == 1;
}
bool checkEvenArgs[4] = {false, true, true, false};
pos = search(ivec.begin(), ivec.end(),checkEvenArgs,checkEvenArgs+4,checkEven);//查找连续4个都是true的
注意:
这两个算法是一对
第二个算法应该叫search_end(), 但是被C++标准委员会命名为find_end()