C++ STL Tutorial

C++ STL Algorithm

C++ STL Arrays

C++ STL String

C++ STL List

C++ STL Stack

C++ STL Set

C++ STL Queue

C++ STL Vector

C++ STL Map

C++ STL Multimap


Binary Search in C++ Standard Template Library (STL)

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

Problem statement

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.

C++ STL binary_search() function

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


binary_search(start_address, end_address, element_to_search);


  1. start_address - starting array element’s pointer
  2. end_address - ending array element’s pointer
  3. element_to_search - element to search

Steps for Binary Search in C++

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

C++ program to implement Binary Search

#include <algorithm>
#include <iostream>

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;
    cout << "Element does not found" << endl;

  return 0;


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

Comments and Discussions!

Load comments ↻

Copyright © 2024 www.includehelp.com. All rights reserved.