1.前提
查找的序列必须是有序的
代码实现
package binarySearch;
import java.util.Scanner;
public class main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int[] Array = {3, 4, 5, 6, 7, 8, 9};
System.out.println("请输入你要查询的数:");
int num = s.nextInt();
int index = binarySearch(Array, 0, Array.length - 1, num);
System.out.printf("%d的下标是:%d", num ,index);
}
public static int binarySearch(int[] array, int left, int right, int key) {
if (left > right) {
return -1;
}
int mid = (left + right) / 2;
int midKey = array[mid];
if (key > midKey) {
return binarySearch(array, mid + 1, right, key);
} else if (key < midKey) {
return binarySearch(array, left, mid - 1, key);
} else{
return mid;
}
}
}