public class PaiXu{
int[] a;
public PaiXu(int[] a) {
this.a = a;
}
public int find(int key,int min,int max){
return paixu(key, min, max);
}
/**
* @param key 要查找的值
* @param min 最小元素下标
* @param max 最大元素下标*/
public int paixu(int key,int min,int max){
int cur;
cur = (min+ max)/2;//中间元素的下标
while (true) {
if (key == a[cur]) {
return cur;
}else if (cur > max) {
return -1;
}else {
if (key > a[cur] ) {
return paixu(key, cur+1, max);
}else {
return paixu(key, min, cur-1);
}
}
}
}
}
二分法递归查找
最新推荐文章于 2024-07-29 18:34:44 发布