二分法查找数组的索引

二分法查找(折半查找)的前提:必须是有序数组。

 

使用递归(其中,item:是你要查找的值;low:是数组的起始下标;high:是数组的最后一个下标)

    public static int binarySearch(int[] arr,int item,int low,int high){

		if(low>high){
			throw new RuntimeException(item+"不存在于数组中");
		}

		int mid=(low+high)/2;
		int guess=arr[mid];

		if(item==guess){
			return mid;
		}else if(item

测试

    public static void main(String[] args) 
	{
		int []arr = {1,5,9,11,25,66,100,101};
		int i = binarySearch(arr,102,0,arr.length-1);
		System.out.println(i);
	}

 

你可能感兴趣的:(数据结构)