import java.util.Arrays;
public class ArrayDichotomy1
{
static int[] array = new int[38];
static int math = 15;
public static int dichotomy(int[] array , int math)
{
int low = 0; //数组头引索
int high = array.length - 1; //数组尾引索
int middle; //中间引索
while(low <= high)
{
middle = (low + high) / 2;
if(array[middle] == math)
{
return middle;
}
if(math < array[middle])
{
high = middle - 1;
}
if(math > array[middle])
{
low = middle + 1;
}
}
return - 1; //没有找到就返回1。
}
public static int[] random(int[] array)
{
for(int i = 0 ; i < array.length ; i++)
{
array[i] = (int)(Math.random()*88);
}
Arrays.sort(array);
for(int value : array)
{
System.out.print(value+" ");
}
return array;
}
public static void main(String[] args)
{
ArrayDichotomy1.random(array);
int x = ArrayDichotomy1.dichotomy(array,12);
if(x == -1)
{
System.out.println("no");
}
else
{
System.out.println("yes");
}
}
}
二分查找
最新推荐文章于 2024-11-11 07:04:17 发布