码迷,mamicode.com
首页 > 其他好文 > 详细

二分查找法

时间:2017-09-24 23:28:04      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:png   blog   image   search   返回   个数   nbsp   代码   public   

二分查找法又叫折半查找法,通过给定一个数,然后把这个数和数组中的中间值进行比较。

  重要理解mid,min,max索引的变化就ok了!

  原理:当要查找的数(key)比中间值(arr[mid])要小的时候,max就要=mid-1,当要查找的数(key)比中间值          (arr[mid])要大的时候,min就要=mid+1,同时mid必须要重置,即mid=(min+max)>>1;

  如果min>max的话,这时就要返回-1,表示数组中没有你要查找的数(key)。

  例如:看图

  技术分享

  代码:

  //二分查找

  public static int HalfSearch(int [] arr,int key){

    min=0;

    max=arr.length-1;

    mid = (min+max)>>1;

    while(key!=arr[mid]){

      if(key<arr[mid]){

        max = mid-1;

       }else if(key>arr[mid]){

        min = mid+1;

       }

      mid = (min+max)>>1;

    }

  return arr[mid];

}

  然后就直接在主方法中调用就可以了。

二分查找法

标签:png   blog   image   search   返回   个数   nbsp   代码   public   

原文地址:http://www.cnblogs.com/blue-crystal/p/7589104.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!