美文网首页
二分搜索

二分搜索

作者: C_0687 | 来源:发表于2019-01-18 16:00 被阅读0次

    title: 二分搜索


    一个最简单的二分搜索示例,原理太简单就不介绍了,上代码:

    public class BinarySearch {
        public static void main(String[] args){
            //测试数据
            int[] a = new int[]{0,1,2,3,4,5,6,7};
            System.out.print(rank(5, a));
        }
    
        /**
         * @param key 待查找的int
         * @param a int数组,必须为有序数据
         * @return
         */
        public static int rank(int key, int[] a){
            int lo = 0;
            int hi = a.length - 1;
    
            while (lo <= hi){
                int mid = lo + (hi - lo)/2;
                if(key < a[mid]){
                    hi = mid - 1;
                }else if (key > a[mid]){
                    lo = mid + 1;
                }else {
                    return mid;
                }
            }
            return -1;
        }
    }
    

    相关文章

      网友评论

          本文标题:二分搜索

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