二分查找

Posted 人生第一步

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分查找相关的知识,希望对你有一定的参考价值。

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

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

  

以上是关于二分查找的主要内容,如果未能解决你的问题,请参考以下文章

java 二分查找法

代码题(12)— 二分查找

二分查找代码

PHP实现二分查找算法(代码详解)

「算法笔记」一文摸秃二分查找

C语言二分查找