码迷,mamicode.com
首页 > 其他好文 > 详细

二分查找

时间:2017-08-09 12:49:02      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:二分查找   []   system   string   java   div   排序   代码   sys   

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

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;
			}
		}
	}
}

  

二分查找

标签:二分查找   []   system   string   java   div   排序   代码   sys   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!