@Luchiniel

Почему сортировка не срабатывает до конца?

Доброго времени суток, читаю "Грокаем алгоритмы", учу js. Решила попробовать решить задачку, которая описана в книге, но сортировка не срабатывает для последних элементов массива. Поясните, пожалуйста, что делаю не так. Заранее спасибо! 5eb77dce8339b996939609.png
https://codepen.io/Luchiniel898/pen/gOazRXv?editor...
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
RAX7
@RAX7
Потому что ты удаляешь элементы из массива, а индекс увеличиваешь. В исходном массиве 8 элементов, спустя 4 итерации в нем останется 4 элемента, и i будет равна 4-м, вот тут-то цикл и оборвется.
function selectionSort(arr) {
  let sortArr = [];

  while (arr.length !== 0) {
    let small = findSmallEl(arr);
    console.log("small:" + small);
    sortArr.push(arr[small]);
    console.log("sortArr:" + sortArr);
    arr.splice(small, 1);
    console.log("arr:" + arr, "arr.length" + arr.length);
  }
  return sortArr;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы