Comments 11
про другие методы тоже интересно было бы почитать
Из названия складывается впечатление что веб-разработчики какие то не полноценные)
Круто)
Ох уж мне эти жаваскриптеры )) На последней итерации внутреннего цикла условие
if (arr[j] > arr[j + 1]) {
Абсолютно бессмысленно. Т.к. arr[arr.length] всегда будет === undefined. И только мягкость JS спасает подобных писателей от падения. В большинстве других языков этот код просто упал бы.
А алгоритм 2, по идее просто заполнит массив undefined. Хотя тут я могу ошибаться. Не помню что будет если число сравнить с undefined
Спасиб за коммент) Поясню.
Так как мы рассматриваем реализацию алгоритма именно на JS, то грех не воспользоваться всеми возможостями языка)
Но в данной статье наша задача объяснить, как работает именно максимально простая реалазиция сортировки пузырьком на js, поэтому некоторые нюансы пришлось опустить. А она прекрасно работает.
Второй пример кода запускается и работает, возвращает отсортированный массив.
И только мягкость JS спасает подобных писателей от падения
Да, печально с одной стороны что JS прощает косяки с граничными условиями и прочими
выходами за пределы массива
-Что такое выход за пределы массива простыми словами?
-Сейчас объясню: вот представь, что ты бежишь в движущемся поезде из вагона в вагон. Открываешь дверь вагона на бегу, и радостно прыгаешь в другой вагон, бежишь по нему, ты молод, счастлив, полон радости! Бежишь, дверь, прыжок, следующий вагон, юхууу, дверь, прыжок, вагон!!!
И вот на бегу открыв очередную дверь, закрыв глаза от счастья, ты прыгаешь, и... Х@ЯК ХЛЕБАЛОМ ОБ РЕЛЬСЫ!!1
Вот примерно это и есть - выход за пределы массива
Мне кажется что фундаментальщина программерская, как ни крути, все же нужна всем разработчикам, кто бы что ни говорил.
Глядишь, тогда бы мы бы не видели сайты, от которых десятиядерный процессор пыхтит, пытаясь просчитать бессмысленные циклы и алгоритмы очередного нахватавшегося по верхам формошлёпера без базовых знаний
Иногда жалею, что родился на 25-30 лет раньше. В начале 90х разрабам (а вернее школьникам средних классово) на уровне, когда актуально постижение алгоритмов сортировки не платили такие деньги, как нынче платят фронт-ендерам на Java-script. Эхх..
Потеряли переменную i в теле второго цикла.
Алгоритмы для веб-разработчиков простыми словами (часть 2)