zoukankan      html  css  js  c++  java
  • Java-数据结构与算法-二分查找法

    1.二分查找法思路:不断缩小范围,直到low <= high

    2.代码:

     1 package Test;
     2 
     3 import java.util.Arrays;
     4 
     5 public class BinarySearch {
     6     
     7     public static void main(String[] args) {
     8         int [] a = {1,5,7,9,11,12,16,20};
     9         int target = 16;
    10         //System.out.println(Arrays.binarySearch(a, target));
    11         System.out.println(binarySearch(a, target));
    12     }
    13 
    14     public static int binarySearch(int [] a, int target){
    15         int low = 0;
    16         int high = a.length - 1;
    17 
    18         while (low <= high) {
    19             int mid = (low + high) >>> 1;
    20             int midVal = a[mid];
    21 
    22             if (midVal < target)
    23                 low = mid + 1;
    24             else if (midVal > target)
    25                 high = mid - 1;
    26             else
    27                 return mid; // key found
    28         }
    29         return -(low + 1);  // key not found.
    30     }
    31 }

    3.结果:6

  • 相关阅读:
    源代码的下载和编译
    Git使用入门
    搭建Android开发环境
    安卓系统移植与驱动开发概述
    第十章
    第九章
    第八章
    第七章读书笔记
    第六章读书笔记
    第五章读书笔记
  • 原文地址:https://www.cnblogs.com/shamgod/p/4604376.html
Copyright © 2011-2022 走看看