/**
* 二分查找算法,交替高低位索引来判断
*
* @param arr 注意:必须是有序数组
* @param s
* @return 查询s在数组arr中的索引
*/
public static int getIndex(int[] arr, int s) {
if (arr != null) {
int low = 0;//低位
int high = arr.length - 1;//高位
while (low <= high) {
int index = (low + high) / 2;
if (arr[index] == s) {
return index;
} else if (arr[index] < s) {
low = index + 1;
} else if (arr[index] > s) {
high = index - 1;
}
}
}
return -1;
}
二分查找算法
最新推荐文章于 2023-08-23 16:38:52 发布