Не могу понять, почему именно такая последовательно/как эти действия можно визуализировать при работе этого кода?
За помощь буду благодарен)
String temp = array[i];
array[i] = array[j];
array[j] = temp;Taras
35 уровень
Помощь в осознаниие части кода, по присваивании переменных
Обсуждается
Не могу понять, почему именно такая последовательно/как эти действия можно визуализировать при работе этого кода?
За помощь буду благодарен)
String temp = array[i];
array[i] = array[j];
array[j] = temp;Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Wladyslaw Java Developer Master
29 октября 2020, 15:52полезный
Сортировка пузырьком. Итерируя по массиву ты сравниваешь два соседних элемента и меняешь их местами, если нужно, так чтобы "больший" оказался справа, ближе к концу массива. Или слева, зависит как сортируешь.
Получается что, если сортируешь по возрастанию, после первой итерации максимальный элемент вынесет на последнюю позицию массива.
Конкретно в том участке что ты обозначил происходит свап элементов. Сначала ты одно из значений элементов массива которые будешь менять сохраняешь во временную переменную, потом на его место ставишь второй элемент из пары, а потом на место второго элемента ставишь ранее сохранённое значение первого элемента из временной переменной.
Визуализаций в интернетах полно. Хотя бы вот тут.
Там внизу есть видео.
Алгоритм медленный, в среднем - О(n^2), но как учебный - пойдёт
+1
TarasJava задачи • Mentor в @javaquiz_mentor
30 октября 2020, 10:13
Спасибо!
0