package chazhao;
public class fine {
public static void main(String[] args) {
int[] array = { 0, 1, 16, 24, 35, 47, 59, 62, 73, 88, 99 };
//二分查找
fine f = new fine();
int result = f.erfenchazhao(array, 23);
System.out.println(result);
}
/*
* 折半查找、二分查找
*/
public int erfenchazhao(int[] array, int key) {
int low = 0;
int high = array.length;
while (low < high) {
if (key > array[(low + high) / 2]) {
low = (low + high) / 2 + 1;
} else if (key < array[(low + high) / 2]) {
high = (low + high) / 2 - 1;
} else {
return (low + high) / 2;
}
}
return -1;
}
}
二分查找(折半查找)
最新推荐文章于 2022-02-01 20:57:02 发布