Trier des objets Ordonnable(s) avec un tas
On désire étendre la classe Tas de l'exercice précédent pour pouvoir trier des objets d'une classe E implémentant l'interface Ordonnable.
On définira donc une classe d'en-tête :
public class TasEtTri<E extends Ordonnable> extends Tas<E>
La classe TasEtTri définira deux méthodes :
- une méthode d'en-tête :
public ArrayList<E> trierDecroissant()
qui retournera donc un ArrayList contenant les éléments du tas sous forme d'une liste triée par ordre décroissant ; on pourra d'abord faire une copie du tas (qu'il ne faut pas détruire) pour récupérer ensuite les plus grands éléments un à un en les mettant dans la liste à retourner ;
- une méthode d'en-tête :
public ArrayList trierCroissant()
qui pourra utiliser la méthode précédente et retournera donc un ArrayList contenant les éléments du tas sous forme d'une liste triée par ordre croissant.
On définira ensuite une classe EssaiTasEtTri contenant une méthode main pour tester la classe TasEtTri. On pourra s'inspirer de la classe EssaiTas et utiliser encore le fichier identite.txt
Corriges
TasEtTri.java
EssaiTas.java
© Charon Irène Télécom-ParisTech 2010