X-Git-Url: https://git.piment-noir.org/?p=TP_POO.git;a=blobdiff_plain;f=Listes%2FListe.java;h=8256bcb89de74d1aa52f5a1ef4f90b446640bc44;hp=6a62aea93ac02feeaba37c34db1421ae8a06750e;hb=f00e7dee9b1470315e6365e3d17bf8bbc9aab89e;hpb=f1af410600beae0521ecd4abe9439a324ab2250f diff --git a/Listes/Liste.java b/Listes/Liste.java index 6a62aea..8256bcb 100644 --- a/Listes/Liste.java +++ b/Listes/Liste.java @@ -1,49 +1,17 @@ -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; - } - -} - -class Liste { - private IntNode headNode; +public class Liste { + private Node headNode; private int list_counter; Liste() { - setheadNode(null); + setHeadNode(null); setSize(0); } private boolean isEmpty() { - return headNode == null; + return getHeadNode() == null; } private int getSize() { @@ -54,43 +22,35 @@ class Liste { list_counter = size; } - private void setheadNode(IntNode node) { + private void setHeadNode(Node node) { headNode = node; } - private IntNode getheadNode() { + private Node getHeadNode() { return headNode; } public void inserer(int value) { - boolean inserted = false; + boolean found = false; if (isEmpty()) { - headNode = new IntNode(value); + headNode = new Node(value); list_counter++; return; - } else if (value < headNode.getData()) { - headNode = new IntNode(value, headNode); - list_counter++; + } else if (value == headNode.getData()) { + found = true; return; } else { - IntNode nodeCursor = headNode; - IntNode nodeCursorNext = headNode.getNext(); + Node nodeCursorNext = headNode.getNext(); while (nodeCursorNext != null) { - if (value == nodeCursor.getData() || value == nodeCursorNext.getData()) { - inserted = true; - break; - } else if (value > nodeCursor.getData() && value < nodeCursorNext.getData()) { - nodeCursor.setNext(new IntNode(value, nodeCursorNext)); - inserted = true; - list_counter++; + if (value == nodeCursorNext.getData()) { + found = true; break; } else { - nodeCursor = nodeCursorNext; nodeCursorNext = nodeCursorNext.getNext(); } } - if (!inserted) { - nodeCursor.setNext(new IntNode(value)); + if (!found) { + headNode = new Node(value, headNode); list_counter++; } } @@ -105,8 +65,8 @@ class Liste { deleted = true; list_counter--; } else { - IntNode nodeCursor = headNode; - IntNode nodeCursorNext = headNode.getNext(); + Node nodeCursor = headNode; + Node nodeCursorNext = headNode.getNext(); while (nodeCursorNext != null) { if (value == nodeCursorNext.getData()) { nodeCursor.setNext(nodeCursorNext.getNext()); @@ -123,19 +83,22 @@ class Liste { } public void afficher() { + 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("Valeur du noeud 0 : " + headNode.getData()); + System.out.println("element " + i + " : " + headNode.getData()); } else { - IntNode nodeCursor = headNode; - int i = 0; - while (nodeCursor.getNext() != null) { - System.out.println("Valeur du noeud " + i + " : " + nodeCursor.getData()); - nodeCursor = nodeCursor.getNext(); + Node 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++; } - System.out.println("Valeur du noeud " + i++ + " : " + nodeCursor.getData()); } }