Atelier 3.2.B: tri naïf d’une liste #
Travail à réaliser #
-
En VSCode, sélectionner le paquet
atelier3_2_B
-
Créer la classe
MonAtelier3_2_B
qui hérite de la classeAtelier3_2_B
-
Créer la classe
TrieurNaif
qui implante l’interfaceTrieur
-
Implanter un tri naïf dans cette classe
public class TrieurNaif<C extends Comparable<C>> implements Trieur<C> {
@Override
public Liste<C> trier(Liste<C> entree) {
Liste<C> resultat = new MonTableau<C>();
/* tant que l'entree n'est pas vide
* trouver la plus petite valeur dans l'entrée
* retirer cette plus petite valeur de l'entrée
* ajouter cette plus petite valeur au résultat
*/
return resultat;
}
}
-
Créer la classe
TrieurJdk
qui implante l’interfaceTrieur
-
Utiliser le tri par défaut du JDK dans cette classe
public class TrieurJdk<C extends Comparable<C>> implements Trieur<C> {
@Override
public Liste<C> trier(Liste<C> entree) {
Arrays.sort(entree.valeurs());
return entree;
}
}
- Ajouter une méthode
main
à la classeMonAtelier3_2_B
:
public static void main(String[] args) {
(new MonAtelier3_2_B()).valider();
}
- Implanter les méthodes pour remplir le contrat du
Atelier3_2_B
, p.ex:
@Override
public <C extends Comparable<C>> Trieur<C> fournirTrieurNaif() {
return new TrieurNaif<C>();
}
@Override
public <C extends Comparable<C>> Trieur<C> fournirTrieurJdk() {
return new TrieurJdk<C>();
}
}
Validation en deux étapes #
-
Exécuter mon projet et valider mes classes et mes méthodes
-
Fermer la fenêtre afin d’exécuter les tests de performance