您的位置:首页 > 其它

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

2016-03-31 15:44 435 查看
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;	}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: