Code cleanup.
[TP_POO.git] / Listes / Liste.java
1
2
3 public class Liste {
4 private Node<Integer> headNode;
5 private int list_counter;
6
7 Liste() {
8 setHeadNode(null);
9 setSize(0);
10 }
11
12 private boolean isEmpty()
13 {
14 return getHeadNode() == null;
15 }
16
17 private int getSize() {
18 return list_counter;
19 }
20
21 private void setSize(int size) {
22 list_counter = size;
23 }
24
25 private void setHeadNode(Node<Integer> node) {
26 headNode = node;
27 }
28
29 private Node<Integer> getHeadNode() {
30 return headNode;
31 }
32
33 public void inserer(int value) {
34 boolean found = false;
35 if (isEmpty()) {
36 headNode = new Node<Integer>(value);
37 list_counter++;
38 return;
39 } else if (value == headNode.getData()) {
40 found = true;
41 return;
42 } else {
43 Node<Integer> nodeCursorNext = headNode.getNext();
44 while (nodeCursorNext != null) {
45 if (value == nodeCursorNext.getData()) {
46 found = true;
47 break;
48 } else {
49 nodeCursorNext = nodeCursorNext.getNext();
50 }
51 }
52 if (!found) {
53 headNode = new Node<Integer>(value, headNode);
54 list_counter++;
55 }
56 }
57 }
58
59 public boolean supprimer(int value) {
60 boolean deleted = false;
61 if (isEmpty()) {
62 return deleted;
63 } else if (value == headNode.getData()) {
64 headNode = headNode.getNext();
65 deleted = true;
66 list_counter--;
67 } else {
68 Node<Integer> nodeCursor = headNode;
69 Node<Integer> nodeCursorNext = headNode.getNext();
70 while (nodeCursorNext != null) {
71 if (value == nodeCursorNext.getData()) {
72 nodeCursor.setNext(nodeCursorNext.getNext());
73 deleted = true;
74 list_counter--;
75 break;
76 } else {
77 nodeCursor = nodeCursorNext;
78 nodeCursorNext = nodeCursorNext.getNext();
79 }
80 }
81 }
82 return deleted;
83 }
84
85 public void afficher() {
86 String className = this.getClass().getSimpleName();
87 int i = 0;
88 System.out.println("---- " + className + " ----");
89 if (isEmpty()) {
90 return;
91 } else if (headNode.getNext() == null) {
92 System.out.println("element " + i + " : " + headNode.getData());
93 } else {
94 Node<Integer> nodeCursorNext = headNode.getNext();
95 System.out.println("element " + i + " : " + headNode.getData());
96 i++;
97 while (nodeCursorNext != null) {
98 System.out.println("element " + i + " : " + nodeCursorNext.getData());
99 nodeCursorNext = nodeCursorNext.getNext();
100 i++;
101 }
102 }
103 }
104
105 public static void main(String[] args) {
106 Liste LinkedList = new Liste();
107
108 LinkedList.inserer(2);
109 LinkedList.inserer(1);
110 LinkedList.inserer(4);
111 LinkedList.afficher();
112 System.out.println("Taille de la liste : " + LinkedList.getSize());
113
114 LinkedList.inserer(2);
115 LinkedList.inserer(10);
116 LinkedList.inserer(0);
117 LinkedList.afficher();
118 System.out.println("Taille de la liste : " + LinkedList.getSize());
119
120 LinkedList.supprimer(4);
121 LinkedList.afficher();
122 System.out.println("Taille de la liste : " + LinkedList.getSize());
123 LinkedList.supprimer(0);
124 LinkedList.afficher();
125 System.out.println("Taille de la liste : " + LinkedList.getSize());
126 LinkedList.supprimer(0);
127 LinkedList.afficher();
128 System.out.println("Taille de la liste : " + LinkedList.getSize());
129 LinkedList.supprimer(10);
130 LinkedList.afficher();
131 System.out.println("Taille de la liste : " + LinkedList.getSize());
132 }
133
134 }