本帖最后由 朴日男 于 2014-10-5 12:52 编辑
- public class GetArrayIndex
- {
- public static void main(String[] args)
- {
- int[] arr = { 8, 19, 24, 34, 39, 51, 54, 56, 60, 84 };
- int index = getArrIndex(arr, 56);
- System.out.println("arr[" + index + "]=" + arr[index]);
- }
- /*
- * 第一步: 折半 第二部: 判断是 左边 还是右边 第三部: 重复第一次 因此写 }
- */
- public static int getArrIndex(int[] arr, int key)
- {
- int max = arr.length, min = 0, mid;
- while (min <= max)
- {
- mid = (max + min) / 2;
- if (key > arr[mid])
- min = mid + 1;
- else if (key < arr[mid])
- max = mid - 1;
- else if (key == arr[mid])
- return mid;
- }
- return -1;
- }
- }
复制代码
|
|