Create a generic Node class and make use of it.
[TP_POO.git] / TP2 / Liste.java
index 6928b00737e0656548f61f6b49cc791812f80b77..abf2efd58ac91f824e8930f949c8238b633c72db 100644 (file)
@@ -4,40 +4,7 @@
     date = "05/12/2011"
 )
 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 Node<Integer> headNode;
     private int list_counter;
 
     Liste() {
@@ -58,25 +25,25 @@ public class Liste extends Structure {
         list_counter = size;
     }
 
-    public void setHeadNode(IntNode node) {
+    public void setHeadNode(Node<Integer> node) {
         headNode = node;
     }
 
-    public IntNode getHeadNode() {
+    public Node<Integer> getHeadNode() {
         return headNode;
     }
 
     public boolean inserer(int value) {
         boolean found = false;
         if (isEmpty()) {
-            headNode = new IntNode(value);
+            headNode = new Node<Integer>(value);
             list_counter++;
             return true;
         } else if (value == headNode.getData()) {
             found = true;
             return true;
         } else {
-            IntNode nodeCursorNext = headNode.getNext();
+            Node<Integer> nodeCursorNext = headNode.getNext();
             while (nodeCursorNext != null) {
                 if (value == nodeCursorNext.getData()) {
                     found = true;
@@ -86,7 +53,7 @@ public class Liste extends Structure {
                 }
             }
             if (!found) {
-                headNode = new IntNode(value, headNode);
+                headNode = new Node<Integer>(value, headNode);
                 list_counter++;
             }
             // Insertion in a linked list can't fail
@@ -103,8 +70,8 @@ public class Liste extends Structure {
             deleted = true;
             list_counter--;
         } else {
-            IntNode nodeCursor = headNode;
-            IntNode nodeCursorNext = headNode.getNext();
+            Node<Integer> nodeCursor = headNode;
+            Node<Integer> nodeCursorNext = headNode.getNext();
             while (nodeCursorNext != null) {
                 if (value == nodeCursorNext.getData()) {
                     nodeCursor.setNext(nodeCursorNext.getNext());
@@ -129,7 +96,7 @@ public class Liste extends Structure {
         } else if (headNode.getNext() == null) {
             System.out.println("element " + i + " : " + headNode.getData());
         } else {
-            IntNode nodeCursorNext = headNode.getNext();
+            Node<Integer> nodeCursorNext = headNode.getNext();
             System.out.println("element " + i + " : " + headNode.getData());
             i++;
             while (nodeCursorNext != null) {
@@ -148,7 +115,7 @@ public class Liste extends Structure {
             headNode = null;
         } else {
             // We have at least 2 nodes in the linked list
-            IntNode nodeCursor = headNode;
+            Node<Integer> nodeCursor = headNode;
             int i = 0;
             // Go to the node at the nElements place
             while (i < nElements - 1 && nodeCursor.getNext() != null && nElements > 1) {