X-Git-Url: https://git.piment-noir.org/?p=TP_POO.git;a=blobdiff_plain;f=TP2%2FListe.java;h=ceab4993c1f80e4da6edc998b99c0d10ffe1a6dc;hp=2a2aff29af1ab516ede9be36d3512b5ed2cf2b67;hb=22758baf926b8b833ce6a38566eb157e13fbd3fb;hpb=c7c510eb1829b97b642bd584a8737103b07efeb7 diff --git a/TP2/Liste.java b/TP2/Liste.java index 2a2aff2..ceab499 100644 --- a/TP2/Liste.java +++ b/TP2/Liste.java @@ -119,20 +119,44 @@ public class Liste extends Structure { public void afficher() { String className = this.getClass().getSimpleName(); + int i = 0; System.out.println("---- " + className + " ----"); if (isEmpty()) { return; } else if (headNode.getNext() == null) { - System.out.println("element 0 : " + headNode.getData()); + System.out.println("element " + i + " : " + headNode.getData()); } else { + 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 != null && headNode.getNext() == null) { + headNode = null; + } else { + // We have at least 2 nodes in the linked list IntNode nodeCursor = headNode; int i = 0; - while (nodeCursor.getNext() != null) { - System.out.println("element " + i + " : " + nodeCursor.getData()); + // Go to the node at the nElements place + while (i < nElements -1 && nodeCursor.getNext() != null && nElements > 1) { nodeCursor = nodeCursor.getNext(); i++; } - System.out.println("element " + i++ + " : " + nodeCursor.getData()); + // Set the nElements + 1 node as the root node + // It might be null + setHeadNode(nodeCursor.getNext()); } }