четвер, 26 листопада 2015 р.

Алгоритм бинарного поиска

int f(int[] array, int x) {
    int low = 0;
    int high = array.length - 1;
    while (low <= high) {
        int mid = (low + high) >>> 1;
        int midVal = array[mid];
        if (midVal < x)
            low = mid + 1;
        else if (midVal > x)
            high = mid - 1;
        else
            return mid;
    }
    return -(low + 1);
}

Немає коментарів:

Дописати коментар