Bubble Sort е прост алгоритъм за сортиране, който многократно разменя съседни елементи в масив, ако са в грешен ред. Този алгоритъм се нарича Bubble Sort, защото елементите, които не са в ред, се „балонират“ в горната част на масива.

Bubble Sort не е много ефективен в сравнение с други алгоритми за сортиране, като Quick Sort или Merge Sort, но е лесен за разбиране и прилагане. В тази публикация ще разгледаме как да внедрим Bubble Sort в JavaScript и ще предоставим примерен код.

Стъпки на алгоритъма за сортиране с мехурчета:

  1. Сравнете първите два елемента от масив.
  2. Ако първият елемент е по-голям от втория елемент, разменете ги.
  3. Преминете към следващата двойка елементи и повторете стъпка 2.
  4. Продължете до края на масива.
  5. Повторете стъпки 1–4, докато масивът бъде сортиран.

Пример за JavaScript код за балонно сортиране:

Ето една реализация на Bubble Sort в JavaScript:

function bubbleSort(array) {
  var len = array.length;
  for (var i = 0; i < len - 1; i++) {
    for (var j = 0; j < len - i - 1; j++) {
      if (array[j] > array[j + 1]) {
        // swap elements
        var temp = array[j];
        array[j] = array[j + 1];
        array[j + 1] = temp;
      }
    }
  }
  return array;
}
// Example usage:
var myArray = [3, 2, 1, 5, 4];
bubbleSort(myArray);
console.log(myArray); // Output: [1, 2, 3, 4, 5]

Функцията за балонно сортиране приема масив като вход и изпълнява върху него алгоритъма за балонно сортиране. Външният цикъл итерира през масива от първия до предпоследния елемент. Вътрешният цикъл итерира от първия елемент до предпоследния елемент, който все още не е сортиран. Ако текущият елемент е по-голям от следващия, те се разменят.

Времевата сложност на Bubble Sort е O(n²), което означава, че не е много ефективна за големи масиви. За малки масиви обаче може да бъде добър вариант поради своята простота.

Bubble Sort е прост алгоритъм за сортиране, който е лесен за прилагане и разбиране. Не е толкова ефективен като другите алгоритми за сортиране, но може да бъде добър вариант за малки масиви. Примерът за JavaScript код, предоставен в тази публикация, може да ви помогне да внедрите Bubble Sort във вашите собствени проекти.