w3resource
JavaScript Exercises

JavaScript: Bubble Sort algorithm

JavaScript Function: Exercise-24 with Solution

Write a JavaScript function to apply 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: -

HTML Code:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Bubble Sort</title>
</head>
<body>

</body>
</html>

JavaScript Code:

function bubble_Sort(a)
{
    var swapp;
    var n = a.length-1;
    var x=a;
    do {
        swapp = false;
        for (var i=0; i < n; i++)
        {
            if (x[i] < x[i+1])
            {
               var temp = x[i];
               x[i] = x[i+1];
               x[i+1] = temp;
               swapp = true;
            }
        }
        n--;
    } while (swapp);
 return x; 
}

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?