From 81e81c5120aca79f9e379a5fd7bffae3d268e0be Mon Sep 17 00:00:00 2001 From: Anshul Gautam <40620896+anshul17024@users.noreply.github.com> Date: Thu, 3 Oct 2019 01:19:09 +0530 Subject: [PATCH] C++ code added. --- binary-search/binarysearch.cpp | 40 ++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 binary-search/binarysearch.cpp diff --git a/binary-search/binarysearch.cpp b/binary-search/binarysearch.cpp new file mode 100644 index 0000000..3d04f3d --- /dev/null +++ b/binary-search/binarysearch.cpp @@ -0,0 +1,40 @@ +// C++ program to implement recursive Binary Search +#include +using namespace std; + +// A iterative binary search function. It returns +// location of x in given array arr[l..r] if present, +// otherwise -1 +int binarySearch(int arr[], int l, int r, int x) +{ + while (l <= r) { + int m = l + (r - l) / 2; + + // Check if x is present 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) +{ + 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; +} \ No newline at end of file