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_Bqui hérite de la classeAtelier3_2_B -
Créer la classe
TrieurNaifqui 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
TrieurJdkqui 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