@Den4_x

Как работает этот алгоритм слияния (mergeSort)?

public static void mergeSort(int[] array, int low, int high) {
        if (high - low < 2) {
            return;
        }
        int mid = (low + high) >>> 1;
        mergeSort(array, low, mid);
        mergeSort(array, mid, high);
        int[] b = Arrays.copyOfRange(array, low, mid);
        for (int i = low, j = mid, k = 0; k < b.length; i++) {
            if (j == high || b[k] <= array[j]) {
                array[i] = b[k++];
            } else {
                array[i] = array[j++];
            }
        }
    }


Я понимаю, как он работает визуально, но на коде, мне очень трудно здесь сориентироваться. Прошу, если у вас есть время и силы, объясните подробно пожалуйста, что и как тут работает, буду очень БЛАГОДАРЕН Вам.

Заранее спасибо, за ваш ОТВЕТ!
  • Вопрос задан
  • 97 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы