近日来,有些许事情,耽误了几天,近几天有人问我二分法的写法:
代码如下:
public class ErFenFa {
public static void main(String[]args){
int [] aa={11,12,13,14,15,16,17};
int low=0;
int height=aa.length-1;
int key=16;
while (low<=height){
int bb=(low+height)/2;
if (aa[bb]==key){
System.out.println("找到值了"+aa[bb]+"===="+bb);
return;
}
if(aa[bb]<key){
low=bb+1;
} else{
low=bb-1;
}
}
}
}
结果如下:
找到值了16====5