w3resource

JavaScript: Bubble Sort algorithm

JavaScript Function: Exercise-24 with Solution

Write a JavaScript function to apply the Bubble Sort algorithm.

Note : According to wikipedia "Bubble sort, sometimes referred to as sinking sort, is a simple sorting algorithm that works by repeatedly stepping through the list to be sorted, comparing each pair of adjacent items and swapping them if they are in the wrong order".

Sample array: [12, 345, 4, 546, 122, 84, 98, 64, 9, 1, 3223, 455, 23, 234, 213]
Expected output: [3223, 546, 455, 345, 234, 213, 122, 98, 84, 64, 23, 12, 9, 4, 1]

Step by step pictorial presentation:

Bubble sort Algorithm

Sample Solution:

JavaScript Code:

// Define a function named bubble_Sort that implements the bubble sort algorithm on an array
function bubble_Sort(a) {
    // Initialize variables for swapping (swapp), the array length (n), and a copy of the array (x)
    var swapp;
    var n = a.length - 1;
    var x = a;

    // Use a do-while loop to repeatedly iterate through the array until no swaps are needed
    do {
        // Set swapp to false at the beginning of each iteration
        swapp = false;

        // Iterate through the array using a for loop
        for (var i = 0; i < n; i++) {
            // Check if the current element is less than the next element
            if (x[i] < x[i + 1]) {
                // If true, perform a swap of the elements
                var temp = x[i];
                x[i] = x[i + 1];
                x[i + 1] = temp;
                // Set swapp to true to indicate that a swap has occurred
                swapp = true;
            }
        }

        // Decrement the array length for the next iteration
        n--;
    } while (swapp); // Continue the loop if at least one swap occurred in the previous iteration

    // Return the sorted array
    return x;
}

// Log the result of calling bubble_Sort with the input array to the console
console.log(bubble_Sort([12, 345, 4, 546, 122, 84, 98, 64, 9, 1, 3223, 455, 23, 234, 213])); 

Output:

[3223,546,455,345,234,213,122,98,84,64,23,12,9,4,1]

Flowchart:

Flowchart: JavaScript function: Bubble Sort algorithm

Live Demo:

See the Pen javascript-function-exercise-24 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript function to find the first not repeated character.
Next: Write a JavaScript function that accept a list of country names as input and returns the longest country name as output

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.