package com.test;
public class BinarySearch {
public static void main(String[] args) {
int[] array = { 1, 2, 3, 4, 5, 12, 23, 44, 55 };
System.out.println(binarySearch(array, 44));
System.out.println(BinSearch(array,0,array.length-1,44));
}
public static int binarySearch(int[] array, int num) {
int begin = 0;
int end = array.length - 1;
while (begin <= end) {
int middle = (begin + end) / 2;
if (num == array[middle]) {
return middle;
} else if (num < array[middle]) {
end = middle - 1;
} else {
begin = middle + 1;
}
}
return -1;
}
public static int BinSearch(int Array[], int begin, int end, int key) {
if (begin <= end) {
int mid = (begin + end) / 2;
if (key == Array[mid])
return mid;
else if (key < Array[mid])
return BinSearch(Array, begin, mid - 1, key);
else if (key > Array[mid])
return BinSearch(Array, mid + 1, end, key);
} else
return -1;
return -1;
}
}