Category : Java | Sub Category : Java Programs | By Prasad Bonam Last updated: 2021-04-19 09:08:11 Viewed : 872
It is a search algorithm that finds the position of a target value within a sorted array. Binary search compares the target value to the middle element of the array. Let’s now see how to implement a binary search algorithm.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | package runnerdev; public class BinarySearch { // Java implementation of recursive Binary Search // 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 ; } public static void main(String args[]) { BinarySearch ob = new BinarySearch(); int arr[] = { 2 , 3 , 4 , 10 , 40 }; int n = arr.length; int x = 40 ; 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); } } |
On executing the above program, it will locate the element present at the particular index
1 | Element found at index 4 |