A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

求解二分法查找的具体过程?

3 个回复

倒序浏览
public class Test5 {

        public static void main(String[] args) {
                int[] arr = { 1, 2, 3, 4, 5, 6, 7 };
                System.out.println(sort(arr, 0, arr.length - 1, 4));
        }

        public static int sort(int[] arr, int start, int end, int key) {
                int mid = (start + end) / 2;
                if (arr[mid] == key) {
                        return mid;
                } else if (key > arr[mid] && end >= 0 && start <= arr.length - 1) {
                        start = mid + 1;
                        return sort(arr, start, end, key);
                } else if (key < arr[mid] && end >= 0 && start <= arr.length - 1) {
                        end = mid - 1;
                        return sort(arr, start, end, key);
                } else {
                        return -1;
                }

        }
}

评分

参与人数 1技术分 +1 收起 理由
洋葱头头 + 1

查看全部评分

回复 使用道具 举报
楼上正解
回复 使用道具 举报
直接百度就有
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马