/**
-
数组二分查找
-
必须是有序数组,找到返回索引,否则返回-1
*/
public class ArrIndex {
public static void main(String[] args) {
int[] arr = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int number = 5;
int index = getArrIndex(arr, number);
System.out.println(index);
}private static int getArrIndex(int[] arr, int number) {
int min = 0;
int max = arr.length - 1;
while (min <= max) {
int mid = (min + max) >> 1;
if (arr[mid] > number) {
max = mid - 1;
} else if (arr[mid] < number) {
min = mid + 1;
} else if (arr[mid] == number) {
return mid;
}
}
return -1;
}
}