您的位置:首页 > 编程语言 > Go语言

STL_Algorithm6--find, find_if, sort, binary_search

2011-01-03 22:20 288 查看
#include<iostream>

#include<algorithm>

#include<vector>

#include<iterator>

using std::cout;

using std::endl;

bool greater10( int value );

int main()

{

const int SIZE = 10;

int a[SIZE] = { 10, 2, 17, 5, 16, 8, 13, 11, 20, 7 };

std::vector< int > v( a, a + SIZE );

std::ostream_iterator< int >outputIt( cout, " " );

cout<< "Vector v contains: ";

std::copy( v.begin(), v.end(), outputIt );

std::vector< int >::iterator location;

location = std::find( v.begin(), v.end(), 16 );

if( location != v.end() )

{

cout<<"/n/nFound 16 at location: "

<<(location - v.begin());

}

else

{

cout<< "/n/n16 not found";

}

location = std::find( v.begin(), v.end(), 100 );

if( location != v.end() )

{

cout<< "/nFound 100 at location: "

<< ( location - v.begin() );

}

else

{

cout<<"/n100 not found";

}

location = std::find_if( v.begin(), v.end(), greater10 );

if( location != v.end() )

{

cout<<"/n/nThe first value greater than 10 is "

<< *location <<"/nfound at location "

<< (location - v.begin() );

}

else

{

cout<<"/n/nNo values greater than 10 were found";

}

std::sort(v.begin(), v.end() );

cout<<"/n/nVector v after sort: ";

std::copy( v.begin(), v.end(), outputIt );

if( std::binary_search( v.begin(), v.end(), 13 ) )

{

cout<<"/n/n13 was found in v";

}

else

{

cout<<"/n/n13 was not found in v";

}

if( std::binary_search( v.begin(), v.end(), 100 ) )

{

cout<<"/n100 was found in v";

}

else

{

cout<<"/n100 was not found in v";

}

cout<<endl;

return 0;

}

bool greater10( int value )

{

return value > 10;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: