原理
二分查找的原理就是每次去查找中间的那个数。当前数比中间的数小,就在前半部分数据中查找;如果比当前数大,就在后半部分查找,按照这个规律查找,知道找到为止。特别要注意的是在查找前需要把数组排好序。
代码展示
下面展示一些 内联代码片
。
ublic static void main(String[] args) {
TestSort1 test = new TestSort1();
int[] array = {1,2,5,8,9,1,0,23};
int sort = test.getSort(array,9);
System.out.println(sort);
}
public int getSort(int[] array, int value) {
//运用Arrays给数组排序
Arrays.sort(array);
int min = 0;
int max = array.length-1;
int mid = (min+ max)/2;
while (array[mid]!=value) {
if (min<max) {
if (array[mid]>value) {
max = mid -1;
}else if (array[mid]<value) {
min = mid +1;
}
mid = (min+max)/2;
}else {
System.out.println("您查找的数不存在");
return -1;
}
}
return mid;
}
总结
二分查找的前提是数组中的元素是有序的,否则无法查找。