Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

📚 The CoCalc Library - books, templates and other resources

132939 views
License: OTHER
1
public class SinglyLinkedList {
2
3
Node head;
4
5
private boolean isEqual(Node node, int content) {
6
return node.container == content;
7
}
8
9
private Node findNode(int number) {
10
Node currentNode = head;
11
12
while (!isEqual(currentNode, number) && currentNode.next != null) {
13
currentNode = currentNode.next;
14
}
15
16
if (isEqual(currentNode, number)) {
17
return currentNode;
18
} else {
19
return null;
20
}
21
}
22
23
public void append(int number) {
24
Node toInsert = new Node(number);
25
toInsert.next = head;
26
head = toInsert;
27
28
/*
29
* schlecht: Node currentNode = head;
30
*
31
* while (currentNode.next != null) { currentNode = currentNode.next; }
32
* currentNode.next = n;
33
*/
34
}
35
36
public void remove(int number) {
37
Node previous = head;
38
Node currentNode = head;
39
40
while (!isEqual(currentNode, number) && currentNode.next != null) {
41
previous = currentNode;
42
currentNode = currentNode.next;
43
}
44
45
if (currentNode.next != null) {
46
previous.next = currentNode.next;
47
}
48
}
49
50
public int find(int number) {
51
Node node = findNode(number);
52
53
if (node == null) {
54
return 0;
55
} else {
56
return node.container;
57
}
58
}
59
60
public void printList() {
61
Node currentNode = head;
62
System.out.print("head -> ");
63
while (currentNode != null) {
64
System.out.print(currentNode.container + " -> ");
65
currentNode = currentNode.next;
66
}
67
System.out.println("null");
68
}
69
}
70
71
72