From c1690c5b44a6c3917eeafb8cbf01e676f3ea105b Mon Sep 17 00:00:00 2001 From: Riya Saini <72748456+RiyaSaini1108@users.noreply.github.com> Date: Tue, 25 Oct 2022 17:26:01 +0530 Subject: [PATCH 1/2] Create Recursive implementation of Binary Search.c --- Recursive implementation of Binary Search.c | 42 +++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 Recursive implementation of Binary Search.c diff --git a/Recursive implementation of Binary Search.c b/Recursive implementation of Binary Search.c new file mode 100644 index 0000000..6ae6cfa --- /dev/null +++ b/Recursive implementation of Binary Search.c @@ -0,0 +1,42 @@ +// C program to implement recursive Binary Search +#include + +// A recursive binary search function. It returns +// location of x in given array arr[l..r] is present, +// otherwise -1 +int binarySearch(int arr[], int l, int r, int x) +{ + if (r >= l) { + int mid = l + (r - l) / 2; + + // If the element is present at the middle + // itself + if (arr[mid] == x) + return mid; + + // If element is smaller than mid, then + // it can only be present in left subarray + if (arr[mid] > x) + return binarySearch(arr, l, mid - 1, x); + + // Else the element can only be present + // in right subarray + return binarySearch(arr, mid + 1, r, x); + } + + // We reach here when element is not + // present in array + return -1; +} + +int main(void) +{ + int arr[] = { 2, 3, 4, 10, 40 }; + int n = sizeof(arr) / sizeof(arr[0]); + int x = 10; + int result = binarySearch(arr, 0, n - 1, x); + (result == -1) + ? printf("Element is not present in array") + : printf("Element is present at index %d", result); + return 0; +} From 0783eaa23aa4bfebebf2f99c79f00917e70bca3b Mon Sep 17 00:00:00 2001 From: Riya Saini <72748456+RiyaSaini1108@users.noreply.github.com> Date: Tue, 25 Oct 2022 17:26:43 +0530 Subject: [PATCH 2/2] Delete Recursive implementation of Binary Search.c --- Recursive implementation of Binary Search.c | 42 --------------------- 1 file changed, 42 deletions(-) delete mode 100644 Recursive implementation of Binary Search.c diff --git a/Recursive implementation of Binary Search.c b/Recursive implementation of Binary Search.c deleted file mode 100644 index 6ae6cfa..0000000 --- a/Recursive implementation of Binary Search.c +++ /dev/null @@ -1,42 +0,0 @@ -// C program to implement recursive Binary Search -#include - -// A recursive binary search function. It returns -// location of x in given array arr[l..r] is present, -// otherwise -1 -int binarySearch(int arr[], int l, int r, int x) -{ - if (r >= l) { - int mid = l + (r - l) / 2; - - // If the element is present at the middle - // itself - if (arr[mid] == x) - return mid; - - // If element is smaller than mid, then - // it can only be present in left subarray - if (arr[mid] > x) - return binarySearch(arr, l, mid - 1, x); - - // Else the element can only be present - // in right subarray - return binarySearch(arr, mid + 1, r, x); - } - - // We reach here when element is not - // present in array - return -1; -} - -int main(void) -{ - int arr[] = { 2, 3, 4, 10, 40 }; - int n = sizeof(arr) / sizeof(arr[0]); - int x = 10; - int result = binarySearch(arr, 0, n - 1, x); - (result == -1) - ? printf("Element is not present in array") - : printf("Element is present at index %d", result); - return 0; -}