В Python обмен двух элементов последовательности можно делать без temp с помощью следующего присваивания: x, y = y, x. if min_index != i: list_1[i], list_1[min_index] = list_1[min_index], list_1[i]
Так безусловно можно делать и я не спорю, что ваш способ гораздо удобнее. Но создание кортежа, автоупаковка переменных в него (и потом автораспаковка) это очень затратный процесс (а именно, так реализован способ предложенный вами). В тоже время использование 3-й переменной работает намного быстрее (правда кода нужно больше). Хотя Python это точно не про скорость выполнения, но хоть капельку оптимизации я пытался внести.
1:00 Сначала сбило с толку описание алгоритма (хотя знаком с ним, смотрю для повтора), а потом понял: пункты 2-4 по смыслу являются подпунктами первого пункта, но таковым образом не оформлены🙂 Замечание на ваше усмотрение🙂
@@oleksandrtsymbaliuk int [] Mass = {1, 5, 23, 157, 8, 29, 100, 13, 88, 45, 2}; Если если сортировать этот массив с помощью вашего кода, то "2" не сортируется.
Спасибо, были полезно освежить память
Лайк и коммент в поддержку канала
В Python обмен двух элементов последовательности можно делать без temp с помощью следующего присваивания: x, y = y, x.
if min_index != i:
list_1[i], list_1[min_index] = list_1[min_index], list_1[i]
Так безусловно можно делать и я не спорю, что ваш способ гораздо удобнее. Но создание кортежа, автоупаковка переменных в него (и потом автораспаковка) это очень затратный процесс (а именно, так реализован способ предложенный вами). В тоже время использование 3-й переменной работает намного быстрее (правда кода нужно больше). Хотя Python это точно не про скорость выполнения, но хоть капельку оптимизации я пытался внести.
@@oleksandrtsymbaliuk, спасибо за ответ. Полностью с Вами согласен. Я просто предложил альтернативу, не более. Спасибо за Ваши лекции!
1:00
Сначала сбило с толку описание алгоритма (хотя знаком с ним, смотрю для повтора), а потом понял: пункты 2-4 по смыслу являются подпунктами первого пункта, но таковым образом не оформлены🙂 Замечание на ваше усмотрение🙂
В циклах for нужно поставить "
Нет. Индексы массивов в Java начинаются с нуля, и поэтому если поставить в условия окончания цикла
@@oleksandrtsymbaliuk
int [] Mass = {1, 5, 23, 157, 8, 29, 100, 13, 88, 45, 2};
Если если сортировать этот массив с помощью вашего кода, то "2" не сортируется.
И опять перепроверяете свой код :). Только, что проверил, все прекрасно сортируется
@@oleksandrtsymbaliuk понял. Благодарю!