Лучшее объяснение алгоритма вставки на всем русскоязычном youtube!
@victoriaco12622 ай бұрын
Огромных успехов Вам, Тимофей Федорович и побольше здоровых и таких же умных детей Вам)) Спасибо большое! 😊
@СергейКоролев-о1ю3 жыл бұрын
Браво, Маэстро! По Вашему уроку объяснил сортировку по методу вставки! Все поняли и всё понятно! СПАСИБО от Солдатов!
@epheymind84752 жыл бұрын
Не могли бы объяснить почему в переменную N записалось максимальное число в массиве?
@ДмитрийНормов-ю6ц2 жыл бұрын
@@epheymind8475 N - это весь отсортиров. массив, а не какое-то число..
@olitakic4 жыл бұрын
Большое спасибо! Вы огромный молодец. Все доступно и понятно.
@karelalex5 жыл бұрын
Можно слегка улучшить алгоритм, убрав перестановку элементов. Делается это примерно так: пишем текущий во временную переменную, затем сравниваем его с предыдущим, если предыдущий больше, то пишем его значение в текущую, сдвигаемся на индекс вниз, опять сравниваем и так далее. Ещё есть вариант, чтобы не проверять, дошли ли мы до начала массива или нет, первой итеррацией найти минимальный элемент и положить его в первую ячейку.
@eladkipiani22005 жыл бұрын
какая разница, если после остановки весь промежуточный ряд надо будет передвигать по тому же принципу через буфер? не проще сразу это делать за один пход? или я что то не допонял?
@ZStanislav4 жыл бұрын
сортировка Шелла и есть усовершенствованная сортировка вставками.
@linterrupt4 жыл бұрын
@@eladkipiani2200 он имеет ввиду int x = arr[i]; int k = i; while (k > 0 and arr[k - 1] > x) { arr[k] = arr[k - 1]; k--; } arr[k] = x; В этом случае Не надо будет каждый раз внутри цикла менять местами переменные. Можно просто как в циклическом сдвиге сдвинуть элементы вправо. То есть внутри цикла вместо вот этого: int tmp = arr[k]; arr[k] = arr[k - 1]; arr[k - 1] = tmp; j--; Мы получаем вот это: arr[k] = arr[k - 1]; k--; Меньше операций.
@golem70605 жыл бұрын
Молодец, не знаю что без тебя делал)
@aidarazizov1413 жыл бұрын
Какой же хороший человек
@buhar9012 жыл бұрын
Сразу видно нормально
@volselongames45052 жыл бұрын
Чувак спасибо за материал, успехов тебе
@MineTest_game2 жыл бұрын
I like Code::Blocks. It is my favorite IDE for Windows.
@nicholasspezza944911 ай бұрын
u r loh from the block.
@derka2114 жыл бұрын
а сли 0 является элементом массива? что тогда нужно писать в условии выхода из цикла? х равен ноль-терминанте или EOF? что находится в конце целочисельного массив, ведь насколько знаю ноль-терминанта касается массива символов (де-факто - строки)?
@elophostia4 жыл бұрын
Это цикл в цикле. Главный цикл заканчивается, когда i станет равно длинне массива - 1.
@the237th3 жыл бұрын
Спасибо за ролик. Возник вопрос. Чтобы присвоить значение аргументу функции внутри тела функции, нужно передать его указатель (как в scanf-е). А тут мы передаем массив, а не указатель на него, и присваивание "глобальному" массиву А происходит. Почему так получается?
@ЕвгенийГостев-ъ8у3 жыл бұрын
имя массива - указатель на первый элемент массива
@allex6829 Жыл бұрын
Массив никогда не копируется в функцию, это не как переменная. В функцию передается адрес массива. если копировать сам массив на 10 000 элементов, то это безумие, от того сколько ресурсов понадобится. По умолчарию там заложено &mas[ ] а на деле просто mas[ ]
@alexandrprodan87944 жыл бұрын
сортировка вставками 11:15
@mihaitimofti97893 жыл бұрын
это bubble sort?
@MrMASANICH Жыл бұрын
Но вопрос логичный, у меня подбный тоже возник!
@ВиталийЧайкин-щ1с2 жыл бұрын
в строке второго цикла while (k > 0 and A[k-1] > A[k]) стоит сказать, что второе условие (после and не выполняется при k = -1) это совсем не очевидно, т.к. выражение в скобках ( ) и по логике математики должно быть вычислено полностью
@allex6829 Жыл бұрын
По логике k = -1, это выход за границы массива, и первое условие говорит об этом, Я пойду только пока я больше нуля( k > 0)
@nicholasspezza944911 ай бұрын
чушь какую-то написал.
@descar16265 жыл бұрын
ее, киса на фоне
@lestatlvv6 жыл бұрын
14:14 Почему такой большой execution time (4.256s)?
@alexandrvint70986 жыл бұрын
Вероятно срабатывает фаервол, т.е. начинает проверять скомпилированный исполняемый файл.
@dezm0n6795 жыл бұрын
Время ввода учитывается вроде там
@Mani_Fast2 жыл бұрын
@@dezm0n679 да
@ishanelava69624 жыл бұрын
можно такое же видео,только методом выбора?
@eladkipiani22005 жыл бұрын
Respect
@ZStanislav4 жыл бұрын
сортировка Шелла интересует.
@alexandrprodan87944 жыл бұрын
Извините за тупой вопрос, но как сортировать по убыванию, а то я попробовал сделать но у меня цикл бесконечный получился. Помогите пожалуйста.
@ДмитрийКошелев-п5э4 жыл бұрын
Не поздна надеюсь отвечаю, просто в while (k > 0 and arr[k-1] > arr[k]) измени условие arr[k-1] > arr[k] на arr[k-1] < arr[k]
@alexandrprodan87944 жыл бұрын
@@ДмитрийКошелев-п5э я справился сам посже, но спасибо
@АндрейОлеговичКулаков Жыл бұрын
на какую сортировку похож этот код? for(int i = 0; i < n; i++) { for(int j = 1; j < n-i; j++) { if(arr[i] > arr[n-j]) { int tmp = arr[n-j]; arr[n-j] = arr[i]; arr[i] = tmp; } } }
@egorrrus_1632 жыл бұрын
Сортировка не работает
@andreydar28234 жыл бұрын
Бедные солдаты.
@maxrus61735 жыл бұрын
Без 39 строки (К-=1) тоже работает
@juvusart5 жыл бұрын
Нет, не работает. Но если в этой строке поставить i = 1, то получится сортировка пузырьком.
@ggdeaimАй бұрын
А я не понял почему в объяснение числа (солдаты) приходят по очереди, а алгоритм реализован для уже заполненного массива?
@Руки-Крюки-е1т9 ай бұрын
Чел видимо в армии небыл, прапор сортирует от высокого к низкому😂
@lesgrossman8344 жыл бұрын
Хах. Заучка математик проиграет прапору. Прапор может обойтись одной строкой кода со встроенной функцией бысто(мля)...
@АндрейЗиновьев-г9л4 жыл бұрын
Какой блять строкой кода, какой нахуй заучка математик? Он показывает один из алгоритмов сортировки и как его написать самому. То что ты отсортируешь этот массив "строчкой кода", будет означать лишь то, что ты воспользовался встроенной функцией
@lesgrossman8344 жыл бұрын
@@АндрейЗиновьев-г9л ты идиот без чувства юмора и тебе девки не дают.
@Уэф-ф7е4 жыл бұрын
Умный человек , хоть и гей .
@Andrew_Petrovich_Zykov Жыл бұрын
сильны ты свой интеллектуальный уровень завысил...
@chyapay4 жыл бұрын
почему не взять и не купить нормальный микрофон, который не СКРИПИТ, и тогда восприятие материала будет более комфортным для зрителя?