Bubble Sort е прост алгоритъм за сортиране, който многократно разменя съседни елементи в масив, ако са в грешен ред. Този алгоритъм се нарича Bubble Sort, защото елементите, които не са в ред, се „балонират“ в горната част на масива.
Bubble Sort не е много ефективен в сравнение с други алгоритми за сортиране, като Quick Sort или Merge Sort, но е лесен за разбиране и прилагане. В тази публикация ще разгледаме как да внедрим Bubble Sort в JavaScript и ще предоставим примерен код.
Стъпки на алгоритъма за сортиране с мехурчета:
- Сравнете първите два елемента от масив.
- Ако първият елемент е по-голям от втория елемент, разменете ги.
- Преминете към следващата двойка елементи и повторете стъпка 2.
- Продължете до края на масива.
- Повторете стъпки 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 във вашите собствени проекти.