The binary_search Algorithm

The binary_search Algorithm

STL’s binary_search() algorithm traverses a sequence and returns a Boolean value indicating whether the sought-after element exists in that sequence. binary_search() is declared in the header as follows:

 bool binary_search (ForwardIterator first,                     ForwardIterator last,                     const T& value)

binary_search() takes two forward iterators that mark the sequence’s bounds, and the sought-after value as the third argument. It returns true if the sought-after value exists in the sequence, or false otherwise. In the following example, binary_search() checks whether the integers 5 and 0 exist in a vector of integers:

 #include #include using namespace std;int main(){  int arr[5] = {1,3,4,5,5};  // set a vector from the array  vector  vi(arr, arr+5);  // search for 5 and 0 in the vector  bool found = binary_search(vi.begin(), vi.end(), 5);// true  found = binary_search(vi.begin(), vi.end(), 0);// false}


Share the Post: