Skip to content

Instantly share code, notes, and snippets.

@abhishek2x
Created November 29, 2020 09:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save abhishek2x/bca1f961c4e650d6d5fb9bca68518653 to your computer and use it in GitHub Desktop.
Save abhishek2x/bca1f961c4e650d6d5fb9bca68518653 to your computer and use it in GitHub Desktop.
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