01. Example:
import java.util.Scanner; class BinarySearch { public static void main(String args[]) { Scanner in = new Scanner(System.in); System.out.println("Enter number of elements in the array: "); int numberOfElements = in.nextInt(); int[] array = new int[numberOfElements]; System.out.println("Enter " + numberOfElements + " integers: "); for (int i = 0; i < numberOfElements; i++){ array[i] = in.nextInt(); } System.out.println("Enter value to find: "); int searchValue = in.nextInt(); int firstIndex = 0; int lastIndex = numberOfElements - 1; int middleIndex = (firstIndex + lastIndex) / 2; while (firstIndex <= lastIndex) { if (array[middleIndex] < searchValue){ firstIndex = middleIndex + 1; } else if (array[middleIndex] == searchValue) { System.out.println(searchValue + " found at location " + (middleIndex + 1) +"."); break; } else{ lastIndex = middleIndex - 1; } middleIndex = (firstIndex + lastIndex) / 2; } if (firstIndex > lastIndex){ System.out.println(searchValue + " is not in the list."); } } }
Output:
Enter number of elements in the array: 11
Enter 11 integers: 89 90 34 45 17 54 67 23 65 23 78
Enter value to find: 45
45 found at location 4.