<pre class="html" name="code"><pre class="html" name="code">public class BubbleTest {
public static int binary(int[] array, int value) {
int low = 0;//定义低位的下标
int high = array.length - 1;//定义高位下标
while (low <= high) {
int middle = (low + high) / 2;
if (value == array[middle]) {
return middle;
}
if (value > array[middle]) {
low = middle + 1;
}
if (value < array[middle]) {
high = middle - 1;
}
}//如果找不到返回相近下标的相反数减1;
return -1;
}
public static void main(String[] args) {
int[] a = { 1, 2, 4, 5, 6, 7, 8, 9 };
int value = binary(a, 9);
int values = Arrays.binarySearch(a, 3);
Arrays.sort(a);//查找之前进行排序操作
System.out.println(value);
System.out.println(values);
}
}
二分法查找的原理
最新推荐文章于 2024-03-18 06:32:45 发布