/** * Created by panjiannan on 2018/7/3. */
public class BinarySearch {
public static void main(String[] args) {
int[] array = {
1,2,3,6,8,9};
System.out.println(binarySearch(array, 8));
}
private static int binarySearch(int[] ary, int target) {
return binarySearch(ary, 0, ary.length -1, target);
}
private static int binarySearch(int[] ary, int fromIndex, int toIndex, int target) {
if (ary.length == 0 || fromIndex > toIndex) {
return -1;
}
int mid = (fromIndex + toIndex) >>> 1;
if (target == ary[mid]) {
return mid;
}
if (target < ary[mid]) {
return binarySearch(ary, fromIndex, mid -1, target);
}
if (target > ary[mid]) {
return binarySearch(ary, mid + 1, toIndex, target);
}
return -1;
}
}
还没有评论,来说两句吧...