Bucle interior
i <arr.length-1 porque no hay necesidad de reciclar la comparación para el último en la clasificación
for (var i = 0; i < arr.length - 1; i++) {
// 比较 arr[i]和 arr[i+1]
// 位置不对,就交换
if (arr[i] > arr[i + 1]) {
var temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
Más lazo exterior
for (var j = 1; j < arr.length; j++) {
for (var i = 0; i < arr.length - j; i++) {
// 比较 arr[i]和 arr[i+1]
// 位置不对,就交换
if (arr[i] > arr[i + 1]) {
var temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
i <arr.length-j es la regla encontrada, escrita después de la optimización.
Después de la primera ronda de clasificación de burbujas, las que se colocaron en primer lugar no se compararán, y la
segunda ronda de clasificación de burbujas no se comparará con las que se colocaron en segundo lugar,
y así sucesivamente ...