折半算法JAVA实现

来源:互联网 发布:企业仓库软件 编辑:程序博客网 时间:2024/05/17 03:58

折半算法实现方法一:循环实现

public static int biSearch(int[] arr,int num) {        int low = 0;        int high = arr.length-1;        int middle;        while(low<=high){            middle = (low+high)/2;            if(num<arr[middle]) {                high = middle-1;            } else if(num>arr[middle]) {                low = middle+1;            } else {                return middle+1;            }        }        return -1;    }



折半算法实现方法二:递归实现

public static int biSearch(int[] arr,int num,int low,int high) {        int middle;        middle = (low+high)/2;        if(num<arr[middle]) {            return biSearch(arr,num,low,middle-1);        } else if(num>arr[middle]) {            return biSearch(arr,num,middle+1,high);        } else {            return middle+1;        }    }


原创粉丝点击