@Den_1337

Этот алгоритм сортировки кто-нибудь до меня уже придумал?

Если да, то как этот алгоритм называется?

var
        arr1 = [5, 2, 7, 9, 3, 6, 1, 4, 10, 8]; //этот массив будет сортироваться
        
    function sorting(arr) { 
        var
            arr2 = [], // суда записываем min
            min, // минимальнае число из arr
            len = arr.length; // длина массива arr
        if (len > 0) {  //защита от дурака (если длина arr < 0 то сортировать нечего)
            for (a = 0; a < len; a++) {

                min = Math.min.apply(Math, arr); // вписываем минимальное число из arr
                arr2.push(min); // добавляем это минимальное число в arr2
                for (i = 0; i < arr.length; i++) {//этот цикл нужен чтобы найти порядковый номер минимального числа в arr 
                    if (arr[i] == min) {
                        arr.splice(i, 1);//удаляем это минимально чискло
                        break; //скажите это нужно, это помогает? типо выйти из цикла если число найдено 
                    }
                }
            }
        }
        arr = arr2;//все что записали в arr2 присвоим arr (arr2 все отсортировано)
        return arr;//возвращаем arr
    }
    document.write(sorting(arr1));
  • Вопрос задан
  • 386 просмотров
Решения вопроса 3
TerNik
@TerNik
Как-то у вас все странно.... Сначала вы ищите минимально число в массиве, а потом, пробегая по всему массиву, вы ищите, на коком месте оно находится. Как вы думаете, как происходит первый шаг, поиск минимального числа? Есть подозрение, что для этого нужно перебрать весь массив.
Кажется, что вы применяете функции и конструкции в своем алгоритме, но совершенно не думаете, что происходит "под капотом". Если цель - придумать просто что-то работающее, то такой подход имеет право на существование, а если хочется сделать/изобрести что-то быстрое и функциональное... Думаю, вы поняли =)
Ответ написан
Комментировать
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
Похоже на версию курильщика сортировки выбором.

И это скорее не алгоритм, а самое неэффективное решение в лоб или почти самое.

А версия курильщика потому что как минимум вы используете Math.min, т.е. вызов какого-то другого алгоритма сортировки происходит попутно, вместо чистой реализации своими силами:
https://gist.github.com/cbdavide/4e546d931c1322668...

не говоря уже про в целом неоптимальность всей реализации.
Ответ написан
Комментировать
VoidVolker
@VoidVolker Куратор тега JavaScript
Dark side eye. А у нас печеньки! А у вас?
Это некорректный алгоритм сортировки.
Первое: происходит поиск минимального значения массива в цикле (это число сравнений, равное числу элементов в массиве.
Второе: затем этот же элемент ищется в этом же массиве (а если там несколько таких значений?) еще раз.
Ну и третье у вас там ошибка и данный код работает неправильно: попробуйте самостоятельно её найти. Я даже дам подсказку: попробуйте отсортировать тысяч сто элементов, миллион элементов, в разных средах (браузеры, нода).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@eternalfire
сортировка методом выбора
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы