二分搜索的Java实现:
public static void main(String[] args) {
int[] arr = new int[] {1,3,4,5,7,9};
int index = search(arr, 5);
System.out.println(index);
}
public static int search(int[] arr, int target) {
if(arr==null) return -1;
int l=0;
int r=arr.length-1;
while(l<=r) {
int middle = (l+r)/2;
if(arr[middle]==target) {
return middle;
}else if(arr[middle] < target) {
l = middle+1;
}else if(arr[middle] > target) {
r = middle-1;
}
}
return -1;
}