Алгоритм binary_search()

Алгоритм binary_search()

template class ForwardIterator, class Type

bool

binary_search( ForwardIterator first,

ForwardIterator last, const Type &value );

template class ForwardIterator, class Type

bool

binary_search( ForwardIterator first,

ForwardIterator last, const Type &value,

Compare comp );

binary_search() ищет значение value в отсортированной последовательности, ограниченной парой итераторов [first,last). Если это значение найдено, возвращается true, иначе - false. В первом варианте предполагается, что контейнер отсортирован с помощью оператора "меньше". Во втором варианте порядок определяется указанным объектом-функцией.

#include algorithm

#include vector

#include assert.h

int main()

{

int ia[] = {29,23,20,22,17,15,26,51,19,12,35,40};

vector int, allocator vec( ia, ia+12 );

sort( &ia[0], &ia[12] );

bool found_it = binary_search( &ia[0], &ia[12], 18 );

assert( found_it == false );

vector int vec( ia, ia+12 );

sort( vec.begin(), vec.end(), greaterint() );

found_it = binary_search( vec.begin(), vec.end(),

26, greaterint() );

assert( found_it == true );

}