二分查找法(二)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/DongGeDeBoKe/article/details/75449885
// 二分查找
    public static int helf() {
        int a[] = { 21, 23, 30, 35, 36, 41, 42, 45, 55, 59, 72 };
        int low = 0;
        int num = 45;// 起点
        int upper = a.length - 1; // 终点
        int mid = (low + upper) / 2;
        while (low <= upper) {// 避免出现下标越界异常
            mid = (low + upper) / 2; // 中间点
            if (a[mid] < num) { // 中间点的值小于要查找的值
                low = mid + 1; // 更改查找的起点为中间点位置后一位
            } else if (a[mid] > num) { // 中间点的值大于要查找的值
                upper = mid - 1; // 更改查找的终点为中间点位置前一位
            } else { // 中间点的值等于要查找的值
                return mid;
            }
        }
        return -1;
    }

猜你喜欢

转载自blog.csdn.net/DongGeDeBoKe/article/details/75449885
今日推荐