递归方法(二分法)
public class A {
public static void main(String[] args) { int[]array= {1,2,3,4,5}; int index = search(array,-4,0,array.length-1); System.out.println(index); } } //递归版的二分法方法 public static int search(int[]array,int key,int left,int right) { if(left>right) { return -1; } int middle = (left+right)/2; if(key==array[middle]) { return middle; }else if(key>array[middle]) { //比中间数字大,在右边,左边界变成middle+1,右边界不变 return search(array,key,middle+1,right); }else { return search(array,key,left,middle-1); }
}
}