黑马程序员技术交流社区

标题: 数组折半查找的问题 [打印本页]

作者: 阴有风    时间: 2014-10-4 22:03
标题: 数组折半查找的问题
今天又复习了一遍折半查找,还是似懂非懂,不是太清楚,求大神指教
作者: 迷失的小Z    时间: 2014-10-5 11:29
我是刚学到折半查找……也是似懂非懂啊……
作者: 朴日男    时间: 2014-10-5 12:50
本帖最后由 朴日男 于 2014-10-5 12:52 编辑
  1. public class GetArrayIndex
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int[] arr = { 8, 19, 24, 34, 39, 51, 54, 56, 60, 84 };
  6.                 int index = getArrIndex(arr, 56);
  7.                 System.out.println("arr[" + index + "]=" + arr[index]);
  8.         }
  9.         /*
  10.          * 第一步: 折半 第二部: 判断是 左边 还是右边 第三部: 重复第一次 因此写 }
  11.          */
  12.         public static int getArrIndex(int[] arr, int key)
  13.         {
  14.                 int max = arr.length, min = 0, mid;
  15.                 while (min <= max)
  16.                 {
  17.                         mid = (max + min) / 2;
  18.                         if (key > arr[mid])
  19.                                 min = mid + 1;
  20.                         else if (key < arr[mid])
  21.                                 max = mid - 1;
  22.                         else if (key == arr[mid])
  23.                                 return mid;
  24.                 }
  25.                 return -1;
  26.         }
  27. }
复制代码


无标题444.jpg (102.55 KB, 下载次数: 37)

无标题444.jpg

作者: 阴有风    时间: 2014-10-7 09:02
迷失的小Z 发表于 2014-10-5 11:29
我是刚学到折半查找……也是似懂非懂啊……

是把,我也不是很懂呢,咱们一起求助大神吧!
作者: 阴有风    时间: 2014-10-7 09:04
朴日男 发表于 2014-10-5 12:50

哇,太详细了,瞬间泪奔了!偶像啊!非常感谢,一下子豁然开朗了。谢谢大神!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2