Mega Code Archive

 
Categories / C++ / Algorithm
 

Use binary_search to locate a value in a vector

#include <iostream> using std::cout; using std::endl; #include <algorithm> #include <vector> #include <iterator> int main() {    int a[ 10 ] = { 10, 2, 17, 5, 16, 8, 13, 11, 20, 7 };    std::vector< int > v( a, a + 10 ); // copy of a    std::ostream_iterator< int > output( cout, " " );    cout << "Vector v contains: ";    std::copy( v.begin(), v.end(), output ); // display output vector    // locate first occurrence of 16 in v    std::vector< int >::iterator location;    // use binary_search to locate 13 in v    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";    cout << endl;    return 0; } /*  Vector v contains: 10 2 17 5 16 8 13 11 20 7 13 was not found in v  */