您的位置:首页 > 其它

二分法查找

2012-11-17 23:36 148 查看
package cn.cp;
//二分查找的前提是:数组有序
//注意:mid的动态变化,否则出错!!!
public class BiSearch {
public static void main(String[] args) {
new BiSearch().biFind(new int []{1,2,3,4,5,6,7},3);
}
public void biFind(int arr[],int y){
int start=0;
int end=arr.length-1;
int mid=(start+end)/2;

while(start<=end){
if(y==arr[mid]){
System.out.println("查找成功,其下标为"+mid);
break;
}
if(y>arr[mid]){
start=mid+1;
mid=(start+end)/2;
}
if(y<arr[mid]){
end=mid-1;
mid=(start+end)/2;
}
if(start>end){
System.out.println("查找失败");

}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: