package com.abstractdatatype.search;
/*二分法查找*/
public class BinarySearch {
public static void main(String[] args) {
int [] a=new int [] {1,2,3,4,5,7,8,9};
int index=BinarySearch.binarySearch(a, 7);
System.out.println(index);
}
/*Performs the standard binary search
* @return index where item is found, or -1 if not found
* */
public static int binarySearch(int [] a,int target){
final int NOT_FOUND=-1;
int low=0;
int high=a.length-1;
while(low<high){
int mid=(low+high)/2;
if(a[mid]<target){
low=mid+1;
}else if(a[mid]>target){
high=mid-1;
}else{
return mid;
}
}
return NOT_FOUND;
}
}
二分法查找
最新推荐文章于 2023-02-11 17:35:44 发布