此函数是否对给定的向量数组进行排序?
请提出您的建议
此致
vasantham
答案 0 :(得分:3)
std::find_if
不是vector的成员,它是来自<algorithm>
的免费函数模板。
它不会对给定的范围进行排序,只是将迭代器返回给定谓词返回true
的给定范围的第一个元素。
答案 1 :(得分:0)
Find_if是a的函数,它将迭代器返回到范围中的第一个元素。
#include <list>
#include <algorithm>
#include <iostream>
bool greater10 ( int value )
{
if(value == 10)
{
return true;
}
return false;
}
int main( )
{
using namespace std;
list <int> L;
list <int>::iterator Iter;
list <int>::iterator result;
L.push_back( 10 );
L.push_back( 9 );
L.push_back( 15 );
L.push_back( 8);
L.push_back( 10 );
cout << "L = ( " ;
for ( Iter = L.begin( ) ; Iter != L.end( ) ; Iter++ )
cout << *Iter << " ";
cout << ")" << endl;
result = find_if( L.begin( ), L.end( ), &greater10 );
for( ;result != L.end(); result++ )
{
cout << *result <<"\t";
cout <<endl;
}
}
此函数返回第一个元素作为迭代器,它不会对矢量数组进行排序。