From aa1e9ab878d14cc30bf8deb8036cf23a2a6065ef Mon Sep 17 00:00:00 2001 From: yolou Date: Wed, 3 Dec 2025 13:33:24 +0100 Subject: [PATCH] Ajout des fichier exo 0 --- TP4/Base.java | 3 +++ TP4/Exemple.java | 21 ++++++++++++++++++++ TP4/MonBrin.java | 48 +++++++++++++++++++++++++++++++++++++++++++++ TP4/MonMaillon.java | 21 ++++++++++++++++++++ 4 files changed, 93 insertions(+) create mode 100644 TP4/Base.java create mode 100644 TP4/Exemple.java create mode 100644 TP4/MonBrin.java create mode 100644 TP4/MonMaillon.java diff --git a/TP4/Base.java b/TP4/Base.java new file mode 100644 index 0000000..db31dc5 --- /dev/null +++ b/TP4/Base.java @@ -0,0 +1,3 @@ +public enum Base { + A, T, C, G; +} diff --git a/TP4/Exemple.java b/TP4/Exemple.java new file mode 100644 index 0000000..1f5eafd --- /dev/null +++ b/TP4/Exemple.java @@ -0,0 +1,21 @@ +public class Exemple { + public static void main(String[] args) { + + MonBrin brin = new MonBrin(); + + brin.ajouterFin(Base.G); + brin.ajouterFin(Base.C); + brin.ajouterFin(Base.T); + brin.ajouterFin(Base.T); + brin.ajouterFin(Base.A); + brin.ajouterFin(Base.G); + + System.out.println(brin); // gcttag + + + Iterator it = brin.iterator(); + while(it.hasNext()) { + System.out.println(it.next()); + } + } +} diff --git a/TP4/MonBrin.java b/TP4/MonBrin.java new file mode 100644 index 0000000..4707f60 --- /dev/null +++ b/TP4/MonBrin.java @@ -0,0 +1,48 @@ +public class MonBrin { + private MonMaillon head; + + public MonBrin() { + this.head = null; + } + + // Ajouter une base au début du brin + public void ajouterDebut(Base b) { + head = new MonMaillon(b, head); + } + + // Ajouter une base à la fin du brin + public void ajouterFin(Base b) { + if (head == null) { + head = new MonMaillon(b, null); + return; + } + + MonMaillon courant = head; + while (courant.getNext() != null) { + courant = courant.getNext(); + } + + courant.setNext(new MonMaillon(b, null)); + } + + public MonMaillon getHead() { + return head; + } + + // Fournir un itérateur maison + public Iterator iterator() { + return new MonBrinIterator(this.head); + } + + // Pour affichage du brin entier + @Override + public String toString() { + String s = ""; + MonMaillon courant = head; + while (courant != null) { + s += courant.getBase().toString(); + courant = courant.getNext(); + } + return s.toLowerCase(); // affiche : gcttag + } +} diff --git a/TP4/MonMaillon.java b/TP4/MonMaillon.java new file mode 100644 index 0000000..b186fd9 --- /dev/null +++ b/TP4/MonMaillon.java @@ -0,0 +1,21 @@ +public class MonMaillon { + private Base base; + private MonMaillon next; + + public MonMaillon(Base b, MonMaillon suivant) { + this.base = b; + this.next = suivant; + } + + public Base getBase() { + return base; + } + + public MonMaillon getNext() { + return next; + } + + public void setNext(MonMaillon n) { + this.next = n; + } +}