public class Binary
{
public static void main(String[] args)
{
int[] a={1,3,4,5,6,7,8,9,10,22,44,55,66,77,88,99};
int result=find(a,44);
System.out.println(result);
}
public static int find(int[] a,int value)
{
int i;
int j;
int m;
i=0;
j=a.length-1;
m=(i+j)/2;
while(i<=j)
{
for(int k=0;k<a.length;k++)//输出每次的取的中间值
{
System.out.print(a[k]);
if(a[k]==a[m])
{
System.out.print("*");
}
System.out.print(" ");
}
System.out.println();
if(value<a[m])
{
j=m-1;
m=(i+j)/2;
}
else if(value>a[m])
{
i=m+1;
m=(i+j)/2;
}
else
{
return m;
}
}
return -1;
}
}
JAVA实现二分法查找并输出每一趟查找的结果
最新推荐文章于 2022-12-27 11:11:01 发布