Use binary_search to locate a value in a vector : binary_search « STL Algorithms Binary search « C++ Tutorial






#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








26.1.binary_search
26.1.1.Illustrating the generic binary search algorithms
26.1.2.Use binary_search to locate a value in a vector
26.1.3.binary_search a list
26.1.4.Use binary_search() to binary search a vector
26.1.5.Binary search after sorting