Exemple de tri de bulles, tri de bulles bidirectionnelles avec une visualisation légèrement améliorée du tri de bulles bidirectionnelles.
Le code est très simple, je ne sais pas s'il y a des bogues inconnus.
Dieu, s'il vous plaît ne vous plaignez pas
Exemple de tri de bulles
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]; }}}Exemple de tri à bulles bidirectionnel
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 ]] pour (var i = 0; i <ls.length; i ++) {for (var j = i + 1; j <lshlength-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 comparaison suivante if (ls [i]> ls [j]) {ls [i] = ls [i] + ls [j]; ls [j] = ls [i] -ls [j]; ls [i] = ls [i] -ls [j]; } // La comparaison précédente}}Exemple de tri de bulles bidirectionnel légèrement amélioré
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]; } // Gardez le premier numéro dans la couche intérieure comme la boucle minimale 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]; } //// Gardez l'avant-dernier nombre de la couche intérieure au cycle maximal 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]; } // réciproque le dernier 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]; }//Suivant}}