Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Binary Search Algorithm
// C++ program to implement recursive Binary Search
#include <bits/stdc++.h>
using namespace std;
#define ll long long int
int binarySearch(int arr[], int l, int r, int x) {
while (l <= r) {
int m = l + (r - l) / 2;
// Element found at mid
if (arr[m] == x)
return m;
// If x greater, ignore left half
if (arr[m] < x)
l = m + 1;
// If x is smaller, ignore right half
else
r = m - 1;
}
// if we reach here, then element was
// not present
return -1;
}
int main(void) {
ios :: sync_with_stdio(false);
cin.tie(0);
int arr[] = { 2, 3, 4, 10, 40 };
int x = 10;
int n = sizeof(arr) / sizeof(arr[0]); // 5
int result = binarySearch(arr, 0, n - 1, x);
(result == -1) ? cout << "Element is not present in array"
: cout << "Element is present at index " << result;
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment