Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

public class Main {
    public static final int NOT_FOUND = -1;

    public static int binarySearch(Comparable[] a, Comparable x) {
        return binarySearch(a, x, 0, a.length - 1);
    }

    private static int binarySearch(Comparable[] a, Comparable x, int low, int high) {
        if (low > high)
            return NOT_FOUND;

        int mid = (low + high) / 2;

        if (a[mid].compareTo(x) < 0)
            return binarySearch(a, x, mid + 1, high);
        else if (a[mid].compareTo(x) > 0)
            return binarySearch(a, x, low, mid - 1);
        else
            return mid;
    }

    public static void main(String[] args) {
        int SIZE = 8;
        Comparable[] a = new Integer[SIZE];
        for (int i = 0; i < SIZE; i++)
            a[i] = new Integer(i * 2);

        for (int i = 0; i < SIZE * 2; i++)
            System.out.println("Found " + i + " at " + binarySearch(a, new Integer(i)));
    }
}