X-Git-Url: https://git.piment-noir.org/?p=TP_POO.git;a=blobdiff_plain;f=TP2%2FListe.java;h=201d8750af17c7f0110e8bc852811ed446fea0c7;hp=b31d0816218f2db6028c5edf8ff4ac14a5392852;hb=5731ae5f40887e5a299eeca6d9047c06cd17ab41;hpb=54d3f5b36181762091ed310b362ec21356284e60 diff --git a/TP2/Liste.java b/TP2/Liste.java index b31d081..201d875 100644 --- a/TP2/Liste.java +++ b/TP2/Liste.java @@ -118,20 +118,44 @@ public class Liste extends Structure { } public void afficher() { - System.out.println("---- liste ----"); + String className = this.getClass().getSimpleName(); + int i = 0; + System.out.println("---- " + className + " ----"); if (isEmpty()) { - System.out.println("Liste vide"); + return; } else if (headNode.getNext() == null) { - System.out.println("element 0 : " + headNode.getData()); + System.out.println("element " + i + " : " + headNode.getData()); } else { - IntNode nodeCursor = headNode; + IntNode nodeCursorNext = headNode.getNext(); + System.out.println("element " + i + " : " + headNode.getData()); + i++; + while (nodeCursorNext != null) { + System.out.println("element " + i + " : " + nodeCursorNext.getData()); + nodeCursorNext = nodeCursorNext.getNext(); + i++; + } + } + } + + public void compacter(int nElements) { + // Remove the first nElements + if (isEmpty()) { + return; + } else if (nElements == 0) { + return; + } else if (headNode.getNext() == null) { + headNode = null; + } else { + // We have at least 2 nodes in the linked list + IntNode nodeCursor = headNode.getNext(); int i = 0; - while (nodeCursor.getNext() != null) { - System.out.println("element " + i + " : " + nodeCursor.getData()); + // Go to the node at the nElements + 1 place + while (i < nElements - 1 && nodeCursor.getNext() != null) { nodeCursor = nodeCursor.getNext(); i++; } - System.out.println("element " + i++ + " : " + nodeCursor.getData()); + // Set the nElements + 1 node as the root node + setHeadNode(nodeCursor); } }