首页 > 其他 > 详细

二分查找

时间:2017-08-09 12:13:40      阅读:262      评论:0      收藏:0      [点我收藏+]

二分查找的前提是数组是有序的,这点我们要注意,我们可以在使用二分查找的时候先对数组进行排序。下面附上代码。

class Demo14_1{
	public static void main(String[] args) throws IOException{
		int[] arr ={0,1,2,3,4,5};
		int a = find(arr,-1);
		System.out.println(a);
		
	}
	public static int find(int[] arr,int number){
		if(arr == null && arr.length ==0) return -1;
		if(arr.length == 1 && arr[0] == number ) return 0;
		
		int min = 0;
		int max = arr.length -1;
		int mid = max/2;
		while(true){
			if(number > arr[mid]){
				min = mid+1;
				mid = (max+min)/2;
			}else if(number < arr[mid]){
				max = mid-1;
				mid = (max+min)/2;
			}else{
				return mid;
			}
			if(max<min){
				return -1;
			}
		}
	}
}

  

二分查找

原文:http://www.cnblogs.com/it-life-nathan/p/7324470.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!