Home »
C++ STL

# Binary Search in C++ using Standard Template Library (STL) function binary_search()

In this article, we are going to learn **how to search an element from an array using binary_search() function of C++ Standard Template Library (STL)**?

Submitted by **IncludeHelp**, on January 04, 2018

Given an array and we have to search an element using binary_search(), which is a function of algorithm header of C++ Standard Template Library.

## binary_search() function

It is a built-in function, which is used to search an element from an array using Binary Search Algorithm.

**Syntax:**

binary_search(*start_address*, *end_address*, *element_to_search*);

**Here,**

*start_address* - starting array element’s pointer
*end_address* - ending array element’s pointer
*element_to_search* - element to search

**Steps:**

- Declare and define an array
- Sort the array (here, we are using sort() function to sort array in ascending order).
- Find the element using binary_search() function.
- Print the message with its index if it exists.

## Program to implement Binary Search using C++ STL

#include <iostream>
#include <algorithm>
using namespace std;
//function to display array list
void dispArray(int arr[], int size)
{
for(int i = 0; i < size; i++)
cout <<" "<< arr[i];
cout<<endl;
}
//main code for binary search
int main()
{
int a[]= {10, 1, 20, 2, 30, 4};
//get array length
int arr_length = sizeof(a) / sizeof(int);
//print array
cout<<"Array elements are: ";
dispArray(a, arr_length);
//sort the array
sort(a, a + arr_length);
cout<<"Sorted array elements: ";
dispArray(a, arr_length);
//searching 30 in the array
if(binary_search(a, a+ arr_length, 30))
cout<<"Element found"<<endl;
else
cout<<"Element does not found"<<endl;
return 0;
}

**Output**

Array elements are: 10 1 20 2 30 4
Sorted array elements: 1 2 4 10 20 30
Element found

You may also be interested in...

C/C++ Tips and Tricks...