
public class BinarySearch
{
    public static void main(String[] args)
    {
        int[] myList = {1, 5, 9, 17, 19, 78, 99, 143, 450, 876, 999};
        int r;
        
        r = binarySearch(myList, 13);
        System.out.println("r = " + r);
    }

    public static int binarySearch(int[] list, int key) 
    {
        int low  = 0;
        int high = list.length - 1;

        while ( low <= high ) 
        {
            int mid = (low + high) / 2;

            if (key == list[mid])
                return mid;
            else if (key < list[mid])
                high = mid - 1;
            else
                low = mid + 1;
        }

        return -1; // Not found
    } 
}
