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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© l6781155 中级黑马   /  2015-7-11 15:34  /  485 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. //二分查找法。必须有前提:数组中的元素要有序。

  2.     public static int halfSeach_2(int[] arr,int key){

  3.         int min,max,mid;

  4.         min = 0;

  5.         max = arr.length-1;

  6.         mid = (max+min)>>1; //(max+min)/2;

  7.         while(arr[mid]!=key){

  8.             if(key>arr[mid]){

  9.                 min = mid + 1;

  10.             }

  11.             else if(key<arr[mid])

  12.                 max = mid - 1;

  13.             if(max<min)

  14.                 return -1;

  15.             mid = (max+min)>>1;

  16.         }

  17.         return mid;

  18.     }
复制代码

4 个回复

倒序浏览
恩,有序
回复 使用道具 举报
这个在基础的时候这么用,我记得在方法里面有的BinarySearch,别人封装好的一个类,我们可以直接用
回复 使用道具 举报
也叫折半查找法,还有个冒泡
回复 使用道具 举报
折半查找,平衡二叉树,散列表
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马