package _04_常见算法;

import java.util.Scanner;

public class Test5 {
    public static void main(String[] args) {
        /**
         * 二分查找
         * 使用条件: 适用于有序数组
         * []
         */
        Scanner scanner = new Scanner(System.in);
        System.out.println("请录入要查找元素内容");
        int number = scanner.nextInt();

        // 1 定义出来一个数组
        int[] arr = {100,200,300,400,500,600,700,800};
        // 2 定义开始位置和结束位置
        int start = 0;
        int end = arr.length -1;
        int index = -1;
        // 3 遍历数组元素
        for (int i = 0; i < arr.length; i++) {
            // 求中间索引
            int mid = (start + end) / 2;
            // 判断
            if(arr[mid] == number){
                index = mid;
                break;
            }else if(arr[mid]> number){
                end = mid - 1;
            }else if(arr[mid] < number){
                start = mid + 1;
            }
        }

        if(index == -1){
            System.out.println("查找元素在数组当中不存在");
        }else{
            System.out.println("查找元素在数组当中的:"+index);
        }
    }
}
