折半查找

1、折半查找又称为二分查找,仅适用于有序的顺序表。

class BinarySearch{
    public int search(int[] a,int k){
        int low = 0;
        int high = a.length-1;
        int mid;
        while (low <= high){
            mid = (low+high)/2;
            if (a[mid] == k){
                return mid;
            }else if (a[mid] > k){
                high = mid -1;
            }else {
                low = mid +1;
            }
        }
        return  -1;
    }
}

2、测试

        int[] a={7,10,13,16,33};
        BinarySearch binarySearch = new BinarySearch();
        int i = binarySearch.search(a, 33);
        System.out.println(i);

 

posted @ 2023-03-03 08:43  诸葛卧龙仙人  阅读(25)  评论(0)    收藏  举报