@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++];
            }
        }
    }


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

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

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

Войти через центр авторизации
Похожие вопросы
King Bird Studio Москва
До 180 000 руб.
XCritical Software Санкт-Петербург
от 150 000 до 220 000 руб.
20 сент. 2019, в 20:02
3000 руб./за проект
20 сент. 2019, в 19:04
80000 руб./за проект
20 сент. 2019, в 18:32
2000 руб./за проект