package part1;
/**
* 先排序后查找
* 二分查找,递归实现
* @author R
*
*/
public class BinarySearch {
public static void main(String args[]){
int[] a={1,2,3,4,5,6,7,8,9,10,11};
int key=rank(3,a);
System.out.println(key);
}
public static int rank(int key,int a[]){
return rank(key,a,0,a.length-1);
}
public static int rank(int key,int a[],int lo,int hi){
if( lo > hi) return -1;//error
int mid = lo + (hi-lo)/2;
if( key < a[mid] ) return rank(key,a ,lo , mid-1);
else if (key > a[mid] ) return rank(key ,a ,mid+1,hi);
else return mid;
}
}
JAVA二分递归查找算法
最新推荐文章于 2022-12-19 17:36:21 发布