Ejemplo de clasificación de burbujas, clasificación burbujas bidireccional con una visualización ligeramente mejorada de la clasificación de burbujas bidireccionales.
El código es muy simple, no sé si hay errores desconocidos.
Dios, por favor no te quejes
Ejemplo de clasificación de burbujas
var ls = [ 98,13,6,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,1 3,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,80,45,64,52,79,77 ]; for (var i = 0; i <ls.length; i ++) {for (var j = i+1; j <ls.length; j ++) {if (ls [i]> ls [j]) {ls [i] = ls [i]+ls [j]; ls [j] = ls [i] -ls [j]; ls [i] = ls [i] -ls [j]; }}}Ejemplo de clasificación de burbujas de dos vías
var ls = [ 6,13,98,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,1 3,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,80,45,64,52,79,77 ]; for (var i = 0; i <ls.length; i ++) {for (var j = i+1; j <ls.length-i; j ++) {if (ls [lent-1-i] <ls [lent-j]) {ls [lent-1-i] = ls [lent-1-i]+ls [lent-j]; ls [Lent-J] = ls [Lent-1-i] -ls [Lent-J]; ls [Lent-1-i] = ls [Lent-1-i] -ls [Lent-J]; ls [Lent-1-i] = ls [Lent-1-i] -ls [Lent-J]; } // La siguiente comparación if (ls [i]> ls [j]) {ls [i] = ls [i]+ls [j]; ls [j] = ls [i] -ls [j]; ls [i] = ls [i] -ls [j]; } // La comparación anterior}}Ejemplo de clasificación de burbuja bidireccional ligeramente mejorada
var ls = [ 98,13,6,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,1 3,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,80,45,64,52,79,77 ]; var lent = ls.length; for (var i = 0; i <ls.length; i ++) {for (var j = i*2; j <ls.length-2*i; j ++) {if (ls [i*2]> ls [j+1]) {ls [i*2] = ls [i*2]+ls [j+1]; ls [j+1] = ls [i*2] -ls [j+1]; ls [i*2] = ls [i*2] -ls [j+1]; ls [i*2] = ls [i*2] -ls [j+1]; } // Mantenga el primer número en la capa interna como el bucle mínimo if (ls [lent-i*2-1] <ls [lent-j-1]) {ls [lent-i*2-1] = ls [lent-i*2-1]+ls [lent-j-1]; ls [Lent-J-1] = ls [Lent-i*2-1] -ls [Lent-J-1]; ls [Lent-i*2-1] = ls [Lent-J-1]; } //// Mantenga el penúltimo número de la capa interna al ciclo máximo if (ls [Lent-2-i*2] <ls [Lent-J-1]) {ls [Lent-2-i*2] = ls [Lent-2-i*2]+LS [Lent-J-1]; ls [Lent-J-1] = ls [Lent-2-i*2] -ls [Lent-J-1]; ls [Lent-2-i*2] = ls [Lent-J-1]; ls [Lent-2-i*2] = ls [Lent-J-1]; ls [Lent-2-i*2] = ls [Lent-J-1]; } // corresponde al último if (ls [i*2+1]> ls [j+1]) {ls [i*2+1] = ls [i*2+1]+ls [j+1]; ls [j+1] = ls [i*2+1] -ls [j+1]; ls [i*2+1] = ls [i*2+1] -ls [j+1]; }//Próximo}}