二分法查找

   int [] arr = {1,2,3,5,6,9,10};

   int low=0;
        int high=arr.length-1;
        int mid = -1;
        while(low<=high){
            mid =(low+high)/2;
            if(arr[mid]<5){
                low=mid+1;
            }else if(arr[mid]>5){
                high=mid-1;
            }else{
                break;
            }
        }
        if(low<high){
            System.out.println("可以找到:index="+mid);
        }else{
            System.out.println("无法找到");
        }

二分法查找 思路 首先数组是排序好的,然后查找到中间的值 去跟需要比的数值比较

如果 中间的数值大于指定的数值比较,那么最大值就改变为中间的减一

反之最小值改为中间的加一

posted @ 2017-02-28 14:00  奋斗的渣渣  阅读(125)  评论(0编辑  收藏  举报