WhiteBachelor
@WhiteBachelor
Начинающий веб-программист.

Не получается сортировка пузырьком. В чем проблема?

Решил научиться алгоритмам. Начал с пузырьковой сортировки. Логически, все понятно, но почему-то алгоритм не работает. Суть программы. С HTML приходит количество числовых значений в массиве. Далее создается массив с данным количеством переменных. В каждое записывается случайное значение методом Math.random(). Выдается массив и отправляется в функцию сортировки. Массив точно выдается, тут все сделал правильно (я не профи по оптимизации, если что), я проверял. А вот сортировка не работает. В чем проблема?
Вот код того самого неработающего алгоритма:
function bubbleSort(sortArray){
  for (i = 0; i != sortArray.length - 1; i++){
    for (b = sortArray.length; b != 1; b--){
      int1 = sortArray[b];
      int2 = sortArray[b - 1];
      if (int2 > int1){
        sortArray[b] = int2;
        sortArray[b - 1] = int1;
      }
    }
  }
  return sortArray;
}


function getRandomArray(){
  quantity = document.getElementById('input_quantity').value;
  sortableArray = new Array();

  for (i = 0; i != quantity; i++){
      sortableArray.splice(i, 0, Math.round(Math.random() * 100));
  }
  document.getElementById('result').innerHTML = bubbleSort(sortableArray);
}
  • Вопрос задан
  • 725 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
for (b = sortArray.length; b != 1; b--){
      int1 = sortArray[b];

Что скажете?

Ошибка в индексации.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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