Sort

L'amélioration consiste à doubler la visualisation sur la sortie standard par une visualisation graphique. L'architecture choisie est la suivante :
Les modifications de InsertionSort et QuickSort se situent uniquement au niveau du main(String []) pour prendre
en compte le passage de SortableDataTracer en Observable, avec comme observateurs un AsciiTracer et un
WinTracer. De plus, les main(String []) se terminent par l'instruction System.exit(0); pour quitter l'application.
Sinon, celle-ci continue car le fait d'utiliser un composant graphique a lancé un thread pour la gestion des événements.
La classe SortableDataTracer a été profondemment modifiée puisqu'elle étend désormais java.util.Observable et ne fait plus d'affichage elle-même, mais prévient des traceurs (implémentant java.util.Observer).
Les classes Sort, SortableArray, SortableData, SortableDataStatistic n'ont
pas été modifiées.
Les classes AsciiTracer et WinTracer implémentent toutes les deux un Observer permettant une double visualisation du déroulement du tri par une interface graphique (WinTracer) et sur la sortie standard (AsciiTracer).