美文网首页
Java 二分查找法(示例、实现)

Java 二分查找法(示例、实现)

作者: 古早味蛋糕 | 来源:发表于2019-02-16 10:51 被阅读0次
    /**
     * 二分查找只能在有序数组里使用 
     * 二分查找法 一
     * @param a 整个数组
     * @param x  要查找的数据
     * @return
     */
    public static boolean tSearch(int a[],int x){
        boolean f =false;
        int length=a.length;
        int low =0;
        int high=length-1;
        int mind;
        while (low<=high){
            mind=a[(low+high)/2];
            if (mind<x)
                low=a[(low+high)/2+1];
            else if (mind>x)
                high=a[(low+high)/2-1];
            else if (mind==x){
                f =true;
                break;
            }
        }
        return f;
    }
    
    
    /**
     * 二分查找法 二
     * @param a  整个数组
     * @param low 每次查找的起始位置
     * @param high 每次查找的结束位置
     * @param x  要查找的数据
     * @return
     */
    public static  boolean tSearchs(int a[],int low,int high,int x ){
        boolean f=false;
        if (low<=high){
            if (x<a[(low+high)/2]){
                f=tSearchs(a,low,(low+high)/2-1,x);
            }else if (x>a[(low+high)/2]){
                f = tSearchs(a,(low+high)/2+1,high,x);
            } else if (x==a[(low+high)/2]){
                f=true;
            }
        }
        return f;
    }
    

    相关文章

      网友评论

          本文标题:Java 二分查找法(示例、实现)

          本文链接:https://www.haomeiwen.com/subject/cllbeqtx.html