public class binarySearch {
public static void main(String[] args) {
int[] arr = { 4, 14, 18, 27, 33, 48, 62 };
int index = binarySearch2(arr, 33);
System.out.println("index=" + index);
}
public static int binarySearch(int[] arr, int key) {
int min = 0;
int max = arr.length - 1;
int mid = (min + max) / 2;
while (arr[mid] != key) {
if (key > arr[mid]) {
min = mid + 1;
} else if (key < arr[mid]) {
max = mid - 1;
}
if (max < min) {
return -1;
}
mid = (max + min) / 2;
}
return mid;
}
public static int binarySearch2(int[] arr, int key) {
int min = 0;
int max = arr.length - 1;
int mid = (min + max) / 2;
while (min <= max) {
mid = (max + min) >> 1;
if (key > arr[mid]) {
min = mid + 1;
} else if (key < arr[mid]) {
max = mid - 1;
} else {
return mid;
}
}
return -1;
}
}
Java数组—常见功能:二分法查找(1)
最新推荐文章于 2022-09-01 19:38:35 发布