public class ArraySearchTest
{
/*public static int search(int[]array, int value)
{
for (int i = 0; i < array.length; i++ )
{
if (value == array[i])
{
return i;
}
}
return -1;
} */
public static int binarySearch(int[] array, int value)
{
int low = 0;
int hight = array.length -1;
int middle;
while (low <= hight)
{
middle = (low + hight) / 2;
//显示查找过程
for(int i = 0; i < array.length; i++)
{
System.out.print(array[i]);
if (i == middle)
{
System.out.print("#");
}
}
System.out.println(" ");
if (array[middle] == value)
{
return middle;
}
if (value < array[middle])
{
hight = middle - 1;
}
if (value > array[middle])
{
low = middle + 1;
}
}
return -1;
}
public static void main(String[] args)
{
int [] a = new int[]{1,2,3,4,5,6,7,8,9};
int value = 5;
int value2 = binarySearch(a, 5);
System.out.println(value2);
}
}
Java 基础一些代码练习笔记(二分查找)
最新推荐文章于 2023-08-08 10:58:14 发布