Exercise:
Write a Java Program to implement Binary Search Algorithm.
Click Here to View the Solution!
import java.util.Scanner;
public class BinarySearch {
int binarySearch(int array[], int element, int low, int high) {
// loop iterates until low and high meet
while (low <= high) {
// calculating index of midpoint
int mid = low + (high - low) / 2;
// if mid element = required element
if (array[mid] == element)
return mid;
// if element < mid element , search left only
if (array[mid] < element)
low = mid + 1;
// if element > mid element, search right only
else
high = mid - 1;
}
return -1;
}
public static void main(String args[]) {
// create an object of Main class
BinarySearch obj = new BinarySearch();
// create a sorted array
int[] array = { 13, 54, 5, 16, 7, 18, 9,99 };
int n = array.length;
// get input from user for element to be searched
Scanner input = new Scanner(System.in);
System.out.println("Enter element to be searched:");
// element to be searched
int element = input.nextInt();
input.close();
// call the binary search method
// pass arguments: array, element, index of first and last element
int result = obj.binarySearch(array, element, 0, n - 1);
if (result == -1)
System.out.println("Not found");
else
System.out.println("Element found at index number " + result);
}
}
Click Here to View the Output!
Enter element to be searched: 16 Element found at index number 3
Click Here to View the Explanation!
- This program is used to perform the implementation of the binary search algorithm.
- A
binarySearch()
method is initialized to store the index of the mid element inmid
. - A nested
if…else
statement is used to find the entered element. It is first compared to themid
value. And if it is true, it returns the index ofmid
. - If false and the element is less than the
mid
value, it is compared to all the elements on the left ofmid
and if found, the index of that element is returned. Else
, if the element is greater than themid
value, the element is compared with all the elements on the right ofmid
and if found, the index of that element is returned.- In
main()
, aninteger array
is initialized as{ 13, 54, 5, 16, 7, 18, 9,99 }
and an element is requested to be entered by the user through theJava Scanner Class
. - Finally, the
binarySearch
algorithm is applied on the entered element and its index is displayed on the screen.