二分法查找
一、使用二分法查找的前提条件
二分法查找算法是基于排序的基础之上的(没有排序的数据是无法查找的)
要想使用二分法查找必须先对元素进行排序
1.二分法查找代码实例
代码如下(示例):
public class ArrayUtil {
public static void main(String[] args) {
int[] arr = {10,21,31,40,56,58,70,90,100,150,156};
int index = Search(arr,156);
System.out.println(index == -1 ? "没有该元素" : "该元素的下标为: " + index);
}
public static int Search(int[] arr, int dest) {
//开始下标
int begin = 0;
//结束下标
int end = arr.length - 1;
while (begin <= end) {
//中间下标元素
int mid = (begin + end) / 2;
if (arr[mid] == dest) {
return mid;
} else if (arr[mid] < dest) {
begin = mid + 1;
} else {
end = mid - 1;
}
}
return -1;
}
}
运行结果
该元素的下标为: 10
总结
二分法查找算法是基于排序的基础之上的(没有排序的数据是无法查找的)
所以一定要先排序