Java. О сортировке выбором.
HTML-код
- Опубликовано: 29 сен 2024
- Как написать сортировку выбором, если уже написал поиск минимального элемента в массиве.
Про поиск минимального элемента в массиве тут:
• Java. Поиск минимально...
Исходники:
github.com/Arh...
Поддержать канал💰:
yoomoney.ru/to...
#ArhiTutorialsJava #ityoutubersru
Этот канал - сокровищница. Огромное Спасибо!
Идеальная музыка для программирования. Вы лучший джава криэйтор!
При такой конфигурации если брать рандомный арррэй часто получаются лишние итерации
Это прекрасно. После кучи попыток до меня дошло за 8 минут, благодаря вашему видео. Спасибо за отличное объяснение
спасибо большое. в начале не мог понять что второй цикл for ищет минимальный элемент из не отсортированного массива
Можно же сделать проще, равзе нет? Без вызова дополнительного privat static int для поиска мин элемента в неотсортированной части. Можно просто взять цикл в цикле от i до i.length. Для понимания новичка будет проще. Субъективное мнение.
Поддерживаю, код получается намного локаничнее и понятнее.
Спасибо, наставник!
Просто и доступно, спасибо!
@Marc Howard Great!
Спасибо тебе, добрый человек;)
спасибо - идеальная подача - поэтапно и просто
На меня произвело впечатление, как в строке меняются местами значения с помощью буфера обмена.
Толково! Спасибо!
15.10.2022
Как же меня путала переменная i = start + 1. Пока я не убрал +1, и понял зачем она, но также увидел, что +1 не влияет на результат
На результат нет, но так добавляется одно ненужное сравнение первого числа, которое уже взято за минимум, самого с собой.
👍
Добрый день 6:46 (длительность видео), не понятно от куда взяли метод arrayToString(). Вроде существует только такая конструкция: import java.util.Arrays; метод Arrays.toString(array). То что написали вы в выводе на печать, я не нашел. Буду благодарен если ткнете носом. Спасибо!
Это я написал. Функция делает то же самое что Arrays.toString(array), так что можно ее выкинуть от туда.
private static void printArray(int[] arr) {
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
if (i > 0) {
System.out.print(", ");
}
System.out.print(arr[i]);
}
System.out.println("]");
}
Не совсем понял зачем переменная minValue. Я так понимаю ты хотел ее использовать где то в первом цикле
minValue - текущее значение минимального элемента. Функция нужна для поиска минимального элемента в не отсортированной части массива. minValue участвует в сравнении
if (array[i] < minValue) {
если элемент массива array[i] оказывается меньше чем minValue - текущий кандидат на минимальный элемент, то присвоить в minValue = array[i] - новый кандидат на минимальный элемент, и запомнить его индекс minIndex = i;
@@arhitutorials Блин можно же вроде просто завести вложенный for и все) и у него указать с какого места сортировать, тот же бабл сорт получается или я чего то не догоняю?))
подскажите пожалуйста, как отобразить каждую итерацию цикла на экране??
Не понял. Там и так в исходниках массив печатается на каждой итерации:
github.com/Arhiser/java_tutorials/blob/master/src/ru/arhiser/sort/SelectionSort.java
@@arhitutorials я когда запускаю RUN то получаю уже готовый отсортированный массив, а у Вас отображается каждая итерация (так сказать весь "процесс"). как этого добиться??
@@krendelito надо вставить в цикл строку кода, которая печатает массив:
System.out.println(Arrays.toString(array));
фоновая музыка!! как наидти??
Я лично в фонотеке ютуба искал, там есть композиции бесплатные для использования, например:
topher mohr and alex elena - space coast
ruclips.net/video/pEQu0rk3300/видео.html
@@arhitutorials Спасибо!! из всех мелодий которые слышал, именно эта наиболее располагает к мышлению!! музыкальная магия!
что такое min?
min() - функция, которая находит минимальный элемент в не отсортированной части массива. Это такой алгоритм сортировки: найти самый маленький элемент в массиве, записать его в начало массива, потом снова найти минимальный из оставшихся, снова записать его в начало. И так далее пока все не отсортируется.
Sergey Arkhipov спасибо большое, увидел все )