package com.kingdz.algorithm.time201703;import java.util.Arrays;import com.kingdz.algorithm.time201702.Algo13;/** * 折半查找非递归版本 * * @author kingdz * */public class Algo06 { public static void main(String[] args) { int count = 10; int[] number = new int[count]; number = Algo13.fillArray(count, false); System.out.PRintln(Arrays.toString(number)); Arrays.sort(number); System.out.println(Arrays.toString(number)); int index = binarySearch(number, 10); System.out.println(index); } /** * * @param number * 需要查找的数组 * @param find * 需要查找的元素 * @return */ private static int binarySearch(int[] number, int find) { int start = 0; int end = number.length; while (start <= end) { int middle = (start + end) / 2; if (number[middle] == find) { return middle; } else if (number[middle] > find) { end = middle - 1; } else if (number[middle] < find) { start = middle + 1; } } return -1; }}
新闻热点
疑难解答