X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=Listes%2FListe.java;h=ca2d42d96920de9eea6647d88bf3eba71f80158d;hb=a8276a31e5cfa00657738bb5803438fa82752d15;hp=6a62aea93ac02feeaba37c34db1421ae8a06750e;hpb=f1af410600beae0521ecd4abe9439a324ab2250f;p=TP_POO.git diff --git a/Listes/Liste.java b/Listes/Liste.java index 6a62aea..ca2d42d 100644 --- a/Listes/Liste.java +++ b/Listes/Liste.java @@ -1,49 +1,50 @@ -class IntNode { - private int data; - private IntNode next; +public class Liste { - IntNode(int value) { - setData(value); - setNext(null); - } + private class IntNode { + private int data; + private IntNode next; - IntNode(int value, IntNode nextNode) { - setData(value); - setNext(nextNode); - } + IntNode(int value) { + setData(value); + setNext(null); + } - public int getData() { - return data; - } + IntNode(int value, IntNode nextNode) { + setData(value); + setNext(nextNode); + } - public void setData(int value) { - data = value; - } + private int getData() { + return data; + } - public IntNode getNext() { - return next; - } + private void setData(int value) { + data = value; + } - public void setNext(IntNode nextNode) { - next = nextNode; - } + private IntNode getNext() { + return next; + } -} + private void setNext(IntNode nextNode) { + next = nextNode; + } + + } -class Liste { private IntNode 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 +55,35 @@ class Liste { list_counter = size; } - private void setheadNode(IntNode node) { + private void setHeadNode(IntNode node) { headNode = node; } - private IntNode getheadNode() { + private IntNode getHeadNode() { return headNode; } public void inserer(int value) { - boolean inserted = false; + boolean found = false; if (isEmpty()) { headNode = new IntNode(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(); 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 IntNode(value, headNode); list_counter++; } } @@ -123,19 +116,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(); + 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++; } - System.out.println("Valeur du noeud " + i++ + " : " + nodeCursor.getData()); } }