public class DivideSearch {
public static void main(String args[]){
int[] data=new int[13];
for(int i=0;i<10;i++)
{
data[i]=i;
}
data[10]=12;
data[11]=14;
data[12]=16;
System.out.print(search(data,13));
public static int search(int[] data,int value)
{
int left=0;
int right=data.length-1;
int mid=(right+left)/2;
while(left<=right) //注意
{
if(data[mid]>value)
{
right=mid-1; //注意
}
else if
(data[mid]<value)
{
left=mid+1; //注意
}
else
return mid;
mid=(right+left)/2;
System.out.println(left+" "+mid+" "+right);
}
return -1;
}
}