package 查找算法;
import java.util.Arrays;
import java.util.Scanner;
//二分查找的算法
public class TestErFenRearch2 {
public static void main(String[] args) {
//定义一个目标数组
int arr[]=new int[] {1,2,3,4,5,6,7,8,9};
System.out.println(Arrays.toString(arr));
//定义所要查找的目标元素
System.out.println("输入你想查找的元素");
Scanner sc=new Scanner(System.in);
int target=sc.nextInt();
//记录开始数据的位置
int begin = 0;
//记录结束位置
int end = arr.length-1;
//记录中间位置
int mid = (begin+end)/2 ;
//记录查找元素的目标位置
int index=-1;
//循环查找
while(true)
{
//首先要判断查找的元素是否在中间位置
if(arr[mid]==target)
{
index=mid;
break;
//查找的元素不在中间位置
}else
{//判断中间位置这个元素是不是比查找的元素大
if(arr[mid]>target)
{
//把结束的位置调整到中间位置的前一个位置
end=mid-1;
}else
{
//中间这个元素比目标元素小
//把开始的位置调整到中间位置的下一个位置
begin=mid+1;
}
//取出新的中间位置
mid=(begin+end)/2;
}
}
//打印查找元素的位置
System.out.println("你所查找的目标元素在第"+index+"个位置");
}
}