diff --git a/c++/binary-search b/c++/binary-search new file mode 100644 index 0000000..acf58f6 --- /dev/null +++ b/c++/binary-search @@ -0,0 +1,32 @@ +#include +using namespace std; + +int binarySearch(int arr[], int l, int r, int x) +{ + while (l <= r) { + int m = l + (r - l) / 2; + + if (arr[m] == x) + return m; + + if (arr[m] < x) + l = m + 1; + + else + r = m - 1; + } + + return -1; +} + +int main(void) +{ + int arr[] = { 2, 3, 4, 10, 40 }; + int x = 10; + int n = sizeof(arr) / sizeof(arr[0]); + 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; +}