Алгоритм BubbleSort в JavaScript - PullRequest
       96

Алгоритм BubbleSort в JavaScript

0 голосов
/ 04 августа 2020

Итак, я пытался попрактиковаться в JS и решил использовать go для алгоритма пузырьковой сортировки. Я написал приведенный ниже код и понял, что он не работает, когда в массиве есть число 3 di git. Я запускаю код в консоли Chrome. Может кто подскажет, в чем проблема?

var array = [];

var length = prompt("Please enter length of array: ");

for (count = 0; count < length; count++) {
  array.push(prompt("Enter a number: "));
}

for (i = 0; i < length; i++) {
  for (j = 0; j < length - i - 1; j++) {
    if (array[j] > array[j + 1]) {
      var temp = array[j];
      array[j] = array[j + 1];
      array[j + 1] = temp;
    }
  }
}

console.log("Your list of numbers is sorted!" + array);

1 Ответ

0 голосов
/ 04 августа 2020

Функция Window.prompt возвращает string, поэтому вы должны преобразовать его в number с помощью Number (иначе < будет сравнивать их в алфавитном порядке), например

var arr = [];
var len = parseInt(prompt("Please enter length of array: "));
for (count = 0; count < len; count++) {
  arr.push(Number(prompt("Enter a number: ")));
}
for (let i = 0; i < len; i++) {
  for (let j = 0; j < len - i - 1; j++) {
    if (arr[j] > arr[j + 1]) {
      let tmp = arr[j];
      arr[j] = arr[j + 1];
      arr[j + 1] = tmp;
    }
  }
}
console.log("Your list of numbers is sorted: " + arr);
...