package com.tj.test;
/**
* 针对有序数组的元素查找
* 折半查找
* */
public class Demo_23 {
public static void main(String[] args) {
int arr[]={0,1,2,3,4,5,6,7,8,9};
int num = 5;
int min = 0;
int max = arr.length-1;
int mid = (min+max)/2;
boolean flag = false;
while(min<=max){
if(num == arr[mid]){
flag = true;
break;
}else
if(arr[mid]>num){
max = mid-1;
System.out.println("max移到:"+(mid-1));
}else{
System.out.println("min移到:"+(mid+1));
min = mid+1;
}
mid = (min + max)/2;
}
if(flag){
System.out.println("在数组中第"+mid+"位");
}else{
System.out.println("好像没有这个数!");
}
}
}