public class BinarySearch { public static int search(int[] array, int x) { int min = 0; int max = array.length - 1; int mid; do { if (min > max) return -1; mid = (min + max) >> 1; if (x > array[mid]) { min = mid + 1; } else { max = mid - 1; } } while(array[mid] != x); return mid; } public static void main(String[] args) { int[] array = ArrayHelper.initArray(); new InsertionSort().sort(array); System.out.println(ArrayHelper.toString(array)); System.out.println(); for (int i = 0; i <= 25; i++) { int j = BinarySearch.search(array, i); if (j != -1) System.out.println("Element " + i + " found at position " + j + "!"); } } }