实现代码:
/**
* @author nami404
* * @date 2025/3/5 23:47
*/
public class BinarySearch {
/**
* 二叉排序算法,要求数组必须是有序的,返回查找的key值在数组中的下标,没有找到则返回-1
*/
public static int binarySearch(int[] array, int key) {
int low = 0;
int high = array.length - 1;
while (low <= high) {
int mid = low + (high - low) / 2;
if (array[mid] < key) {
low = mid + 1;
} else if (array[mid] > key) {
high = mid - 1;
} else {
return mid;
}
}
return -1;
}
public static void main(String[] args) {
int[] array = {1,1,2,3,4,5,6,7,11,12,13,14,24,31,43};
int result = binarySearch(array, 1);
System.out.println(result);
}
}