数组的二分查找
代码如下:
public static void main(String[] args) {
int[] arr=new int[] {1,2,45,46,81,90,91,98,100,120,602};
for (int i : arr) {
System.out.println(i+" ");
}
Scanner scan=new Scanner(System.in);
System.out.println("请输入你要查的元素:");
int dest=scan.nextInt();
int head=0;
int end=arr.length-1;
boolean isFlag=true;
while (head<=end) {
int middle=(head+end)/2;
if (dest==arr[middle]) {
System.out.println("找到了指定的元素,位置为:"+middle);
isFlag=false;
break;
}else if (arr[middle]>dest) {
end=middle-1;
}else {
head=middle+1;
}
}
if (isFlag) {
System.out.println("很遗憾,没有找到");
}
}
效果展示: