Java
package com.ssdou;
public class BinarySearch {
public static void main(String[]args){
int a[] = {1,2,5,8,10,15,19,20};
int i = 12;//需要查找的值
System.out.println(binarySearch(a,i));
}
public static int binarySearch(int[] a,int num){
if((a.length == 0)||(a ==null)){
return -1;
}
int startPos = 0;
int endPos = 0;
int m = (startPos + endPos)/2;
while(startPos<=endPos){
if(num == a[m])
return 0;
if(num <a[m]){
endPos = m-1;
}
if(num >a[m]){
startPos = m+1;
}
m = (startPos+endPos)/2;
}
return -1;
}
}