public class BinarySearch {
/**
* @param args
*/
public static void main(String[] args) {
int[] a = { 0, 1, 3, 5, 7, 9, 11, 21 };
int num = 11;
System.out.println(BinarySearchOne(a, num));
}
private static int BinarySearchOne(int[] a, int num) {
int left = 0;
int right = a.length - 1;
int middle;
while (left <= right) {
middle = (left + right) / 2;
if (num == a[middle]) {
return middle;
} else if (num > a[middle]) {
left = middle + 1;
} else {
right = middle - 1;
}
}
return -1;
}
}
/*
* Console:
* 6
*/