public class java二分法{
public static void main(String [] args){
int arr[]=new int[20];
for(int i=1;i<arr.length;i++){
int r=(int)(Math.random()*100);
arr[i]=r;
}
arr[0]=12;
for(int i=1;i<arr.length;i++){
for(int k=0;k<arr.length-i;k++){
if(arr[k]>arr[k+1]){
int tmp=arr[k];
arr[k]=arr[k+1];
arr[k+1]=tmp;
}
}
}
for(int tmp:arr)
System.out.print(tmp+" ");
System.out.println();
int t=12;
int pos=0;
int m1=0;
int m2=arr.length-1;
boolean f=false;
while(m1<=m2){
pos=(m1+m2)/2;
if(arr[pos]<t){
m1=pos+1;}
else if(arr[pos]>t){
m2=pos-1;}
else{f=true;
break;}
}
if(f=true)
System.out.println(pos+"::"+arr[pos]);
else
System.out.println("找不到");
}
}