делаю алгоритм сортировки на джаваскрипт. Работает на другом алгоритме - поиска наименьшего числа. Скрипт должен выводить массив от наименьшего до наибольшего числа но выводит наименьшее число подряд.
function find_smallest(arr) {
var smallest = arr[0];
var smallest_index = 0;
for (var i = 1; i < arr.length; i++) {
if (arr[i] < smallest) {
smallest = arr[i];
smallest_index = i;
}
}
return smallest;
}
function selection_sort(new_arr) {
new_arr_2 = [];
for (var n = 0; n < new_arr.length; n++) {
new_arr_2.push(find_smallest(new_arr));
}
return new_arr_2;
}
console.log(selection_sort([90, 3, 5, 8, 90, 14, 90009]))
Причина такого поведения в том, что на каждом шаге выполняется одно и то же - поиск минимального элемента в одном и тоже, не изменяющемся массиве new_arr
Для исправления нужно исключать найденный минимум из следующего поиска. Это можно сделать, например, удаляя соответствующий элемент (splice).
А можно выполнять поиск, начиная с n-го элемента на n-м шаге, и переставив минимум в начало (поменяв его с n-м). В результате второй массив не понадобится, и получится классическая сортировка выбором.
В JS есть встроенная сортировка массивов, ничего выдумывать не нужно, это простейшая операция:
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return a - b;
});
console.log(numbers); // [1, 2, 3, 4, 5]
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Какие на данный момент можно использовать методы жизненного цикла в React? В интернете только устаревшая информация а в офдокументации расписано...
Открываю окно через windowopen(url, name, params), при закрытии запоминаю размеры и положение, при повторном открытии размещаю окно по сохраненным координатам...
Пытаюсь анимировать пулю,плавно вылетающую при клике на пробелНо с отрисовкой что-то не так