Le programme de démonstration de tri permet de visualiser le comportement de 6 algorithmes de tri classiques, le tri par sélection ordinaire, le tri par la méthode de la bulle, le tri pas insertion séquentielle, le tri par insertion dichotomique, le tri par tas et le tri rapide. Les paramètres donnés dans l'applet ont la signification suivante:

- nombre: le nombre de valeurs à mettre dans la liste,

- delai: le délai d'attente entre deux pas de l'animation,

- hauteurAnimation: la hauteur de la fenêtre d'animation,

- largeurAnimation: la largeur de la fenêtre d'animation,

Ces valeurs ont des contraintes de visibilité. Les valeurs fournies en dehors de ces contraintes sont corrigées en conséquence.

L'activation de "Tri.html" (par exemple en utilisant "Applet viewer") ouvre une première fenêtre qui visualise le contenu de la liste d'entiers à trier. Des boutons permettent de changer le nombre d'éléments de la liste (par pas de 10 ou par pas de 1), de générer une liste ordonnée, de générer une liste aléatoirement, de choisir l'algorithme de tri et de le lancer.

Le démarrage d'un tri ouvre une nouvelle fenêtre et lance le tri sur une copie de la liste définie dans la fenêtre générale. Plusieurs boutons et un ascenceur permettent de contrôler le déroulement du tri. L'ascenceur permet de contrôler la vitesse d'exécution du tri. Les quatres boutons permettent :

1 Arrêter définitivement le tri, et supprimer la fenêtre.

2 Suspendre le tri en l'état, ou le reprendre après une suspension,

3 Exécuter le tri une étape à la fois, ou l'exécuter en continu,

4 Un pas n'agit que sur un tri suspendu, et exécute soit un pas du tri sil est dans l'état suspendu, soit une étape.

Les éléments de la liste sont représentés par une barre verticale de longueur proportionnelle à leur valeur. Normalement ces barres sont de couleur rouge, sauf lorsqu'ils sont sélectionnés dans l'algorithme pour une action particulière.

Un pas élémentaire de tri est une comparaison entre deux éléments ou un transfert d'un élément d'un endroit à un autre. Les éléments dans une comparaison ou un transfert sont affichés en vert.

Certains éléments jouent un rôle particulier dans certains tris. Ils sont alors affichés en bleu :

- Pour les tris par sélection ordinaire et le tri par bulle, l'élément en bleu indique le début de la liste non triée. Une étape du tri correspond à la sélection du plus petit restant et à son placement.

- Pour le tri par insertion séquentielle, il indique la fin de la liste triée. Une étape du tri correspond au placement de l'élément suivant.

- Pour le tri par insertion dichotomique, les deux éléments en bleu délimitent la partie de la liste triée qui doit être déplacée. Une étape du tri correspond au placement de l'élément suivant.

- Pour le tri par tas, au cours de la phase de construction du tas, l'élément en bleu indique l'endroit où est appliquée l'opération " ordonner ", alors que dans le phase d'extraction, il indique le début de la liste triée. Une étape du tri correspond dans les deux cas à une application de l'opération Ordonner.

- Le tri par tas peut également être affiché avec la présentation simultanée de l'arbre binaire parfait représenté par la liste et la liste elle-même. Les valeurs des éléments sont affichés dans les noeuds. Les couleurs sont atténuées pour permettre une meilleure lecture. Les noeuds sont normalement en rose. Ceux qui interviennent dans une comparaison sont en vert. Enfin celui où est appliqué l'opération ordonner est en magenta.

- Pour le tri rapide, les deux éléments en bleu indiquent le début et la fin de la liste à répartir. Un trait horizontal bleu indique la valeur du pivot. Une étape du tri correspond à la répartition d'une sous liste.

Note: Les fichiers " .class " du tri sont supposés soit dans le répertoire Commun_Demonstration soit dans le répertoire Demonstration_Tri eux-mêmes contenus dans le même répertoire que Tri.html, ou être accessibles par la variable CLASSPATH.