Skip to content

Commit

Permalink
Merge pull request #541 from Rimjhim28/patch_2
Browse files Browse the repository at this point in the history
Add recursive binary search using java
  • Loading branch information
ambujraj authored Oct 7, 2018
2 parents 8cf2839 + 34a6fd1 commit c5c8943
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions binary_search/using_recursion_in_java.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
// Java implementation of recursive Binary Search
class BinarySearch
{
// Returns index of x if it is present in arr[l..
// r], else return -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;
}

// Driver method to test above
public static void main(String args[])
{
BinarySearch ob = new BinarySearch();
int arr[] = {2,3,4,10,40};
int n = arr.length;
int x = 10;
int result = ob.binarySearch(arr,0,n-1,x);
if (result == -1)
System.out.println("Element not present");
else
System.out.println("Element found at index " +
result);
}
}

0 comments on commit c5c8943

Please sign in to comment.