Exemplo de classificação de bolhas, classificação bidirecional de bolha com visualização ligeiramente aprimorada da espécie de bolha bidirecional.
O código é muito simples, não sei se existem bugs desconhecidos.
Deus, por favor, não reclame
Exemplo de classificação de bolhas
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]; }}}Exemplo de classificação de bolhas de duas vias
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 ]; para (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]; } // A seguinte comparação se (ls [i]> ls [j]) {ls [i] = ls [i]+ls [j]; ls [j] = ls [i] -ls [j]; ls [i] = ls [i] -ls [j]; } // A comparação anterior}}Exemplo de tipo bidirecional ligeiramente melhorado
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 a emprestação = LS.Length; para (var i = 0; i <ls.length; i ++) {for (var j = i*2; j <ls.lengthen-2*i; j ++) {if (ls [i*2]> ls [j+1]) {ls [i*2] = ls [i*2]+ls [j+1]) {ls [i*2] = ls [i*2] 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]; } // Mantenha o primeiro número na camada interna como o loop mínimo if (ls [emprestado-i*2-1] <ls [lent-j-1]) {ls [lent-i*2-1] = ls [emprestado-i*2-1]+ls [lent-j-1]; ls [lent-j-1] = ls [emprestado-i*2-1] -ls [lent-j-1]; ls [emprestado-i*2-1] = ls [emprestado-j-1]; } //// Mantenha o penúltimo número da camada interna no ciclo máximo se (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 [emprestado-j-1]; ls [lent-2-i*2] = ls [emprestado-j-1]; ls [lent-2-i*2] = ls [emprestado-j-1]; } // retocar o ú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}}