public class BinSearch { public int binSearch(int k, int[]A, int lo, int hi){ // pre: A sorted // post: if k in A[lo..hi] return its position; else return -1 int ret; // return value if (lo>hi) //Not found ret = -1; else { // invariant: if k in A[lo..hi] then A[lo] <= k <= A[hi] int mid = (lo+hi)/2; if (k==A[mid]) ret = mid; else if (k < A[mid]) ret = binSearch(k,A,lo,mid-1); else ret = binSearch(k,A,mid+1,hi); } return ret; } public static void main(String[] args) { // TODO create array and binary search it BinSearch search = new BinSearch(); // Initialize and print the sorted array int[] A = {0,2,4,6,8,10}; System.out.print("A: "); for(int i=0; i