import java.util.Arrays;
import java.util.Scanner;
public class bisearch {
//a为待查找的数组,b为要查找的数字
private static String search(int[] a,int b){
int begin=0,end=a.length;
if(b<a[begin] || b>a[end-1])
return "查找失败";
for(int i=begin;i<=end;){
int mid=(begin+end)/2;
//System.out.println(mid);
if(b==a[mid]){
return "查找成功";
}else if(b<a[mid]){
end=mid;
}else if(b>a[mid]){
begin=mid;
}
}
return "查找失败";
}
public static void main(String[] args) {
//int a[Max] = {05,13,19,21,37,56,64,75,80,88,92}
//k = 13,k =37,k =99
Scanner in=new Scanner(System.in);
System.out.println("数组a内容为{05,13,19,21,37,56,64,75,80,88,92}");
int[] a={5,13,19,21,37,56,64,75,80,88,92};
Arrays.sort(a);
System.out.println("请输入要查找的次数:");
int n=in.nextInt();
System.out.println("请输入要查找的数字:");
while(n-- > 0){
int b=in.nextInt();
System.out.println(search(a,b));
}
}
}
折半查找
最新推荐文章于 2021-01-09 19:52:41 发布