Java 二分查找(折半查找)

1585364631
2023-02-20 / 0 评论 / 159 阅读 / 正在检测是否收录...

Java 二分查找(折半查找)

  • 二分查找的前提:必须是排序好的数据
  • 折半的条件:min<=max
      public static boolean towSearch(int[] a,int search){
        int min = 0;
        int max = a.length - 1;
        int mid = (min + max) / 2;
        int i = 0;
        while (min <= max){
            System.out.println("第 " + ++i + " 次查找");
            if (search == a[mid]){
                return true;
            }
            if (search < a[mid]){
                max = mid - 1;
                mid = (min + max) / 2;
            }
            if (search > a[mid]){
                min = mid + 1;
                mid = (min + max) / 2;
            }
        }
        return false;
    }

    public static void main(String[] args) {
        int[] a = {1,2,3,4,5,6,7,8,9,10};
        int search = 3;
        System.out.println(towSearch(a,3));
    }

结果

第 1 次查找
第 2 次查找
true

0

评论 (0)

取消