| 
 Accueil 
Nouvelles 
Profil 
Contact 
Half-Life 
Musique 
PCASTL 
Informatique 
Vidéos 
Lecture 
OpenGL 
Éléments 
sids du C64 
Liens 
 | 
| 
 Exemple ICU 
Boyer-Moore 
Tri fusion 
Ordinateurs 
 | 
| 
 Tri fusion JavaScript 
Pour trier une table html je voulais une procédure de tri stable.
 var desc=false;
function lt_or_eq(obj1, obj2)
{
   return (desc) ? obj1 >= obj2 : obj1 <= obj2;
}
function mergesort(arr)
{
   var left = new Array();
   var right = new Array();
   var len = arr.length;
   if (len <= 1) return arr;
   var middle = Math.floor(len / 2);
   for (var i = 0; i < middle; i++) left.push(arr[i]);
   for (var i = middle; i < len; i++) right.push(arr[i]);
   left = mergesort(left);
   right = mergesort(right);
   return merge(left, right);
}
function merge(left, right)
{
   var retval = new Array();
   while(left.length > 0 && right.length > 0)
   {
      if (lt_or_eq(left[0], right[0])) retval.push(left.shift());
      else retval.push(right.shift());
   }
   if (left.length > 0) return retval.concat(left);
   if (right.length > 0) return retval.concat(right);
   return retval;
}
Le code ci-haut est adéquat pour trier un tableau d'objets pour lesquels les opérateurs >= et <= vont donner un résultat pertinent. Pour trier en ordre descendant, changer la valeur de desc pour true. J'ai trouvé la description du l'algorithme du tri fusion sur en.wikipedia.org.  | 
| 
 Mobile 
 |