Java 数值数组数据二分查找
- 前提: 数据需要排序后的
- 示例:
public class ArraySearch {
public static void main(String[] args) {
int[] arr = new int[]{-10,-1,0,2,3,5,6,7,8};
int head = 0, end = arr.length - 1, middle = 0, num = 5;
while(head <= end) {
middle = (head + end)/2;
if(num == arr[middle]) {
System.out.println("Search end, i = " + middle);
break;
} else if(num > arr[middle]) {
head = middle + 1;
} else {
end = middle - 1;
}
}
}
}
结果打印: Search end, i = 5