It's my first question. I study the bubble sort implementation in JS.
It seems that code not working correctly. Help me please fix it
var arr = [11, 12, 0, 1, 2, 4, 3, 5, 6, 7, 8, 9, 10, 13];
var n = arr.length;
var t;
var swap = true;
for (var i = 0; (i < n) && (swap === true); i++) {
for (var j = 0; j < (n - (i + 1)); j++) {
if (arr[j] > arr[j + 1]) {
t = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = t;
swap = true;
} else {
swap = false;
}
}
};
var swap = true;
for (var i = 0; (i < n) && (swap === true); ++i) {
swap = false;
for (var j = 0; j < ( n - (i + 1) ); ++j) {
if ( arr[j] > arr[j + 1] ) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
swap = true;
}
}
}
Once loopi didn't swap any number, "swap" will be false, then we can exit the loop.