Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions Sorts/bubblesort.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
/*Bubble Sort is a algorithm to sort an array. It
* compares adjacent element and swaps thier position
* The big O on bubble sort in worst and best case is O(N^2).
* Not efficient.
*/
function bubbleSort(items) {
var length = items.length;
Expand All @@ -21,7 +23,44 @@ function bubbleSort(items) {

var ar=[5,6,7,8,1,2,12,14];
//Array before Sort
console.log("-----before sorting-----")
console.log(ar);
bubbleSort(ar);
//Array after sort
console.log("-----after sorting-----")
console.log(ar);

/*alternative implementation of bubble sort algorithm.
Using a while loop instead. For educational purposses only
*/
/*
*In bubble sort, we keep iterating while something was swapped in
*the previous inner-loop iteration. By swapped I mean, in the
*inner loop iteration, we check each number if the number proceeding
*it is greater than itself, if so we swap them.
*/

function bubbleSort(arr){
var swapped = true;
while(swapped){
var swapped = false;
for(var i = 0; i < arr.length; i++){
if(arr[i] > arr[i + 1]){
var temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
swapped = true;
}
}
}
return arr;
}

//test
console.log("-----before sorting-----")
var array = [10,5,3,8,2,6,4,7,9,1];
console.log(array);
console.log("-----after sorting-----")
console.log(bubbleSort(array));