java实现二分查找(迭代)

    xiaoxiao2021-12-14  55

    public class MyBinarySearch{ public static void main(String[] args) { int i = 100; int[] array = new int[i >> 1]; int n = 0; while ((i -= 2) > 0) { array[n++] = i; } // 查找4所在位置 System.out.println(BinarySearch(array, 0, array.length - 1, 4)); // 查找1所在位置 System.out.println(BinarySearch(array, 0, array.length - 1, 1)); } public static int Binary(int[] array, int start, int end, int target) {         int center = (start + end) >> 1;         int mid = array[center];         if (target < array[start] || target > array[end] || start > end) {             return -1;         }         if (target > mid) {             return Binary(array, center + 1, end, target);         } else if (target < mid) {             return Binary(array, start, center - 1, target);         } else {             return center;         }     } }
    转载请注明原文地址: https://ju.6miu.com/read-964832.html

    最新回复(0)