Files
BUT2-DEV34/TP4/stub/0Bad/MonBrin.java

68 lines
1.9 KiB
Java

/**
MonBrin code un brin d'ADN sous forme de liste simplement chaînée.
Plusieurs instances de MonMaillon reliées convenablement forment une structure de liste simplement chaînée contenant pour chaque maillon le nom de la base.
On n'utilise pas java.util et on recode tout.
Cette version a un problème : la navigation n'est pas raisonnable
*/
public class MonBrin {
private MonMaillon debut;
private MonMaillon courant;
public MonBrin(MonMaillon p) {
this.debut = p;
this.courant = p; // Initialiser courant pour le parcours
}
public MonMaillon getDebut() {
return this.debut;
}
// Méthode hasNext pour vérifier s'il y a un élément suivant
public boolean hasNext() {
return courant != null;
}
// Méthode next pour obtenir la base actuelle et avancer
public Base next() {
if (!hasNext()) {
throw new RuntimeException("No more elements in the brin.");
}
Base baseActuelle = courant.getBase();
courant = courant.getSuiteMaillon(); // Avancer au maillon suivant
return baseActuelle;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
MonMaillon temp = this.debut;
while (temp != null) {
sb.append(temp.getBase()).append(" ");
temp = temp.getSuiteMaillon();
}
return sb.toString().trim();
}
}
/*
public class MonBrin {
//Le constructeur fabrique un brin à partir du premier maillon p;
public MonBrin(MonMaillon p){
throw new UnsupportedOperationException("cette méthode n'est pas implémentée");
}
public MonMaillon getDebut(){
throw new UnsupportedOperationException("cette méthode n'est pas implémentée");
}
et pour naviguer?
On pourrait implémenter l'interface iterator de java.util ici
}
*/