Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: C++
Expertise: Intermediate
Jun 12, 2000

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 <algorithm> 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 <algorithm>
#include <vector>
using namespace std;
int main()
{
  int arr[5] = {1,3,4,5,5};
  // set a vector from the array
  vector <int> 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
}
Danny Kalev
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap