我是个无基础刚开始学Java的童鞋,求高手详细讲解下。代码的位置放置问题。注释的那儿,
代码如下:
class ZheBan_2 //折半查找的第二种方法
{
public static void main(String[] args)
{
int arr[]={3,5,8,12,16,20,32,45};
int index=zheBan_2(arr,20);
System.out.println("index:"+index);
}
public static int zheBan_2(int [] arr,int key)
{
int min=0,max=arr.length-1,mid;// 为什么在这里不能先给mid赋上值呢?
while (min<=max)
{
mid=(min+max)/2; // 为什么要在while语句内,这个位置赋值,在while外不行...
if (key>arr[mid])
{
min=mid+1;
}
else if (key<arr[mid])
{
max=mid-1;
}
else
return mid;
}
return -1;
}
}
|