From 0dfbd16668d5e3e50edbf5761a061e8ef61a41f6 Mon Sep 17 00:00:00 2001 From: Nishithaaa0905 Date: Wed, 3 Dec 2025 21:16:29 +0530 Subject: [PATCH] Optimized Bubble Sort with early-stop check --- src/bubbleSort.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/bubbleSort.js diff --git a/src/bubbleSort.js b/src/bubbleSort.js new file mode 100644 index 000000000..2c8d251a9 --- /dev/null +++ b/src/bubbleSort.js @@ -0,0 +1,27 @@ +// Optimized Bubble Sort in JavaScript + +function bubbleSort(arr) { + let n = arr.length; + let swapped; + + for (let i = 0; i < n - 1; i++) { + swapped = false; + + for (let j = 0; j < n - i - 1; j++) { + if (arr[j] > arr[j + 1]) { + // swap + [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]; + swapped = true; + } + } + + // If no two elements were swapped, array is sorted + if (!swapped) break; + } + + return arr; +} + +// Example usage +const numbers = [5, 2, 9, 1, 5, 6]; +console.log('Sorted:', bubbleSort(numbers)); // [1,2,5,5,6,9]