您的位置:首页 > 编程语言 > Java开发

java实现二分查找

2018-01-26 16:01 453 查看

java实现二分查找

思想:通过标记数组中间位置的值,然后与待比较数相比较,依次重复此步骤,直到得出结果

实现代码:

public class Test {

public static void main(String[] args) {
int[] a={33,44,66,94,133,190,200,223};//开始数组必须是有序的
System.out.println(halfSearch1(a,223));
System.out.println(halfSearch2(a,133));
}
public static int halfSearch1(int[] arr,int key){//方法一
int max,min,mid;
min=0;
max=arr.length-1;
mid=(max+min)/2;

while(arr[mid]!=key){
if(key>arr[mid]){
min=mid+1;
}else if(key<arr[mid]){
max=mid-1;
}
if(max<min){
return -1;
}
mid=(max+min)/2;
}
return mid;
}
public static int halfSearch2(int[] arr,int key){//方法二
int max,min,mid;
min=0;
max=arr.length-1;
mid=(max+min)/2;
while(min<=max){
if(key>arr[mid]){
min=mid+1;
}els
4000
e if(key<arr[mid]){
max=mid-1;
}
else{
return mid;
}
mid=(max+min)/2;
}
return -1;

}
}


输出结果:

7

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