二分查找

二分查找思想:

能进行二分查找的一定是一个有序的空间!
mid=(left+right)/2,如果,目标值大于下标为mid的值,则应将mid的值赋给left
若,目标值小于下标为mid的值,则应将mid的值赋给right;
若,目标值刚好和下标为mid的值相等,则返回mid。
在这里插入图片描述

public class Excipise1112{
    public static int binarySearch(int[] arr,int v){
        int left=0;
        int right=arr.length-1;
        while(left<=right){
            int mid=(left+right)/2;
            if(arr[mid]==v){
                return mid;
            }else if(arr[mid]>v){
                right=mid-1;
            }else {
                left = mid + 1;
            }
        }
        return -1;
    }
    public static void main(String[] args){
        int[] arr={0,1,2,3,4,5,6,7,8,9};
        System.out.println("v的下标是: "+ binarySearch(arr,3));
    }
}

在这里插入图片描述


版权声明:本文为qq_44847147原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。