Schleife "i" muss brechen, wenn if-Anweisung der Schleife "j" swap = false
zurückgeben, aber es tut das nicht und durch alle von arr.length
JavaScript Blasensortierung Änderung (Bedingung der Schleife "für" funktioniert nicht)
var arr = [0, 1, 2, 4, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13];
var n = arr.length;
var t;
var swap;
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 }
}
};
Danke, Ihre Antwort ist korrekt und hilfreich für meine Idee mit der Schleife "i". aber meine Idee war falsch. Und diese Überprüfung funktioniert nicht mit allen möglichen Werten des Arrays. In manchen Fällen erfolgt keine Sortierung. zum Beispiel 'var arr = [11, 12, 0, 1, 2, 4, 3, 5, 6, 7, 8, 9, 10, 13]; –