X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=exo4%2FListe.java;fp=exo4%2FListe.java;h=0000000000000000000000000000000000000000;hb=cc162028bdb820adfbb30037091557f057980abd;hp=e042612b15c0f8abdf4bcc32e8bf48ea3829c14b;hpb=c05c228927b2d9141cbc27e467e252e5e83263cf;p=Project_POO.git diff --git a/exo4/Liste.java b/exo4/Liste.java deleted file mode 100644 index e042612..0000000 --- a/exo4/Liste.java +++ /dev/null @@ -1,161 +0,0 @@ - - -public class Liste extends Structure { - - private class IntNode { - private int data; - private IntNode next; - - IntNode(int value) { - setData(value); - setNext(null); - } - - IntNode(int value, IntNode nextNode) { - setData(value); - setNext(nextNode); - } - - public int getData() { - return data; - } - - public void setData(int value) { - data = value; - } - - public IntNode getNext() { - return next; - } - - public void setNext(IntNode nextNode) { - next = nextNode; - } - - } - - private IntNode headNode; - private int list_counter; - - Liste() { - setHeadNode(null); - setSize(0); - } - - private boolean isEmpty() - { - return getHeadNode() == null; - } - - public int getSize() { - return list_counter; - } - - public void setSize(int size) { - list_counter = size; - } - - public void setHeadNode(IntNode node) { - headNode = node; - } - - public IntNode getHeadNode() { - return headNode; - } - - public boolean inserer(int value) { - boolean found = false; - if (isEmpty()) { - headNode = new IntNode(value); - list_counter++; - return true; - } else if (value == headNode.getData()) { - found = true; - return true; - } else { - IntNode nodeCursorNext = headNode.getNext(); - while (nodeCursorNext != null) { - if (value == nodeCursorNext.getData()) { - found = true; - break; - } else { - nodeCursorNext = nodeCursorNext.getNext(); - } - } - if (!found) { - headNode = new IntNode(value, headNode); - list_counter++; - } - // Insertion in a linked list can't fail - return true; - } - } - - public boolean supprimer(int value) { - boolean deleted = false; - if (isEmpty()) { - return deleted; - } else if (value == headNode.getData()) { - headNode = headNode.getNext(); - deleted = true; - list_counter--; - } else { - IntNode nodeCursor = headNode; - IntNode nodeCursorNext = headNode.getNext(); - while (nodeCursorNext != null) { - if (value == nodeCursorNext.getData()) { - nodeCursor.setNext(nodeCursorNext.getNext()); - deleted = true; - list_counter--; - break; - } else { - nodeCursor = nodeCursorNext; - nodeCursorNext = nodeCursorNext.getNext(); - } - } - } - return deleted; - } - - 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 " + 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() || 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; - // Go to the node at the nElements place - while (i < nElements - 1 && nodeCursor.getNext() != null && nElements > 1) { - nodeCursor = nodeCursor.getNext(); - i++; - } - // Set the nElements + 1 node as the root node - // It might be null - setHeadNode(nodeCursor.getNext()); - } - } - -}