Wir haben mit verknüpften Liste und Knoten in der Klasse begonnen und ich glaube, ich habe verstanden, wie sie funktionieren. Aber an einer Stelle, an der wir den Knoten zur verknüpften Liste hinzufügen müssen, habe ich einige Probleme, damit er funktioniert. Der Fehler tritt in der Methode "append" auf. Meine IDE sagt mir nicht viel über das Problem.Versuchen, Knoten zu verketteten Liste hinzuzufügen
Meine Klasse LinkedList:
public class LinkedList {
public Node head = null;
public void insert(Node n) {
n.next = head;
head = n;
}
public Node search(int nummer) {
Node current = head;
while (current != null) {
if (current.element == nummer)
return current;
current = current.next;
}
return null;
}
public int count() {
int c = 0;
for (Node n = head; n != null; n = n.next) {
c++;
}
return c;
}
public void append(Node n) {
if (head == null){
head = new Node(n, null);
}
else {
Node p = head;
while (p.a != null){
p = (Node) p.a;
}
p.a = new Node(n, null);}
}
}
Meine Node-Klasse:
public class Node {
public int element = 0;
public Node next = null;
Object a;
public Node(int e, Node n) {
this.element = e;
this.next = n;
}
public Node(int e) {
this.element = e;
}
}
Welche Probleme haben Sie? Was passiert, wenn Sie Ihren Code ausführen? Wie unterscheidet sich das Ergebnis von dem, was Sie wollen? An diesem Punkt Ihrer Programmierkarriere ist es sehr wichtig zu lernen, wie Sie Ihren eigenen Code debuggen können. Sie sollten einen Debugger verwenden oder 'System.out.println()' Anweisungen hinzufügen, um zu sehen, was Ihr Code tatsächlich macht. Ich schlage auch vor, dass Sie Bilder zeichnen, um zu visualisieren, was Sie tun. Verwenden Sie ein Kästchen oder einen Kreis, um einen Knoten darzustellen, und Pfeile, um den nächsten Verweis zwischen Knoten darzustellen. –