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;
}
#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;
}
相关文章推荐
- STL算法find,find_if,find_if_not,sort,fill,for_each,count,adjacent_find,random_shuffle,prev_permutation
- 从零开始学C++之STL(五):非变动性算法源代码分析与使用示例( for_each、min_element 、find_if、search 等)
- STL中泛型算法find_if()与sort()的应用举例及详解
- STL中查找方法用法总结-adjacent_find, binary_search, includes, lower_bound, upper_bound, equal_range
- STL之sort(),binary_search(),lower_bound(),upper_bound()函数
- STL 之search,search_n,sort,binary_search
- STL 之search,search_n,sort,binary_search
- C++之STL(五):非变动性算法源代码分析与使用示例( for_each、min_element 、find_if、search 等)
- STL中泛型算法find_if()与sort()的应用举例及详解
- 从零开始学C++之STL(五):非变动性算法源代码分析与使用示例( for_each、min_element 、find_if、search 等)
- STL中泛型算法find_if()与sort()的应用举例及详解
- STL(五):非变动性算法源代码分析与使用示例( for_each、min_element 、find_if、search 等)
- STL 查找vector容器中的指定对象:find()与find_if()算法
- 501. Find Mode in Binary Search Tree
- merge sort and binary search recursive version
- 泛型算法find和find_if以及sort
- Find Mode in Binary Search Tree
- STL中的二分查找——lower_bound 、upper_bound 、binary_search
- Find Mode in Binary Search Tree
- Binary Search Tree--find Lowest Common Ancestor--C++ and Java