二分法查找有序数组中的元素

来源:互联网 发布:os x 下载软件 编辑:程序博客网 时间:2024/05/15 18:12
public class TestSearch {

public static void main(String[] args) {
int a[] = {1,2,3,4,5,7,9,23,45,68,98,111,333,999};
int i =99;
System.out.println(binarySearch(a, i));
}
public static int binarySearch(int a[],int num){
if(a.length == 0){
return -1;
}
int startPos = 0;
int lastPos = a.length-1;
int m = (startPos+lastPos)/2;
while(startPos <= lastPos){
if(num == a[m]){return m;}
if(num > a[m]) {startPos = m+1;}
if(num < a[m]){lastPos = m-1;}
m = (startPos+lastPos)/2;
}
return -1;
}

}
0 0
原创粉丝点击