使用JAVA实现二分查找法

 由于比较简单,就直接贴源码了。

 

package demo;

public class BinarySearch {

	public static void main(String[] args) {
		int[] input = {1,3,5,7,9,100,200,300,301,305};
		System.out.println("找到的位置下标为: "+BinarySearch.binarySearch(input, 1)
				+ " input 的长度 " + input.length);		
	}

	public static int binarySearch(int[] input,int target) {
		int low = 0;
		int high = input.length-1;
		while(low<=high) {
			int middle = (low+high)/2;
			if(input[middle] == target) {
				return middle;
			} else if(input[middle] < target) { //目标在中点的左边
				low = middle + 1;
			} else {  //目标在中点的右边
				high = middle -1 ;
			}
		}
		return -1;
	}
}
 

你可能感兴趣的:(java实现)