From 5d68e3df4c4075bb8494f5e65714196863fd1651 Mon Sep 17 00:00:00 2001 From: mohdashraf <36167931+mohdashraf@users.noreply.github.com> Date: Fri, 21 Oct 2022 23:36:28 +0530 Subject: [PATCH] Create binarySearch.cs --- Searching/Binary-Search/binarySearch.cs | 50 +++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Searching/Binary-Search/binarySearch.cs diff --git a/Searching/Binary-Search/binarySearch.cs b/Searching/Binary-Search/binarySearch.cs new file mode 100644 index 0000000..bc0413d --- /dev/null +++ b/Searching/Binary-Search/binarySearch.cs @@ -0,0 +1,50 @@ +// C# implementation of recursive Binary Search +using System; + +class GFG { + // Returns index of x if it is present in + // arr[l..r], else return -1 + static 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; + } + + // Driver method to test above + public static void Main() + { + + int[] arr = { 2, 3, 4, 10, 40 }; + int n = arr.Length; + int x = 10; + + int result = binarySearch(arr, 0, n - 1, x); + + if (result == -1) + Console.WriteLine("Element not present"); + else + Console.WriteLine("Element found at index " + + result); + } +} + +// This code is contributed by Ashraf