二分搜索查找

     二分搜索算法的基本思想是将n个元素分成个数大致相同的两半,取a[n/2]与x进行比较。如果X=a[n/2],则找到x,算法终止。如果x<a[n/2],则只要在数组a的左半部继续搜素X。如果X>a[n/2],则只要在数组a的右半部继续搜索x。具体算法可描述如下:

public static int binarySearch(int []a,int x,int n){
		int left=0;
		int right=n-1;
		while(left<=right){
			int middle=(left+right)/2;
			if(x==a[middle]) return middle;
			if(x>a[middle]) left=middle+1;
			else right=middle-1;
		}
		return -1;
 }
	

  

原文地址:https://www.cnblogs.com/fxbbk/p/5536036.html