import java.util.Arrays;
import java.util.Scanner;
//二分法查找(输出的是下标)
public class TestBinarySearch {
public static void main(String[] args) {
int[] arr = {30,20,50,10,80,9,7,12,100,40,8};
// int searchWord = 20;
Arrays.sort(arr); //二分法查找时,要先对其进行升序排序
System.out.println(Arrays.toString(arr));
Scanner scanner = new Scanner(System.in);
System.out.println("输入想要查找的元素值:");
int searchWord = scanner.nextInt();
System.out.println(searchWord+"元素的索引:"+binarySearch(arr,searchWord));
}
public static int binarySearch(int[] array,int value){
int low = 0;
int high = array.length-1;
while(low<=high){
int middle = (low+high)/2;
if (value==array[middle]){
return middle;
}
if (value>array[middle]){
low = middle+1;
}
if (value<array[middle]){
high = middle-1;
}
}
return -1;
}
}