1.二分查找
只能查有序数组
如果查找的数大于中间值,查找范围变成数组后半段,即中间值的后一个数作为新查找范围的第一个数。反之,中间值前一个数变成新查找范围的最后一个数。
----------------------------
--------------
-------
-------------
------
package day01;
class BinarySearchIterative {
public static void main(String args[]) {
int numArray[] = {5, 10, 15, 20, 25, 30, 35};
int key = 25;
int first = 0, last = numArray.length-1;
int mid = (first + last)/2;
while (first <= last) {
if (numArray[mid] < key) {
first = mid + 1;
} else if (numArray[mid] == key) {
System.out.println("查询的数字是:" + numArray[mid] + ", 位置是:" + mid);
break;
} else {
last = mid -1;
}
mid = (first + last)/2;
}
if (first > last) {
System.out.println("失败");
}
}
}
教程:Java实现二分查找法_allway2的博客-CSDN博客_java二分查找



