Ich habe versucht, die tiefe Kopie meiner verknüpften Liste, bekannt als DictionaryNode
, die ich tat, aber ich war nicht in der Lage, seinen Inhalt in der Anzeige-Methode anzuzeigen, da es immer null ist. Warum ist DictionaryNode temp immer null? und wenn ich versuche, Temp = Kopf Arbeit zuweisen, aber mit Temp = Kopie nicht.LinkedList Deep Kopie Java
public class ListOfNodes {
public class DictionaryNode {
protected String word;
private int level;
private DictionaryNode next;
private int space = 0;
public void displayCopy() {
DictionaryNode temp = copy.next;
while(temp != null) {
System.out.println(temp.word)
temp = temp.next;
}
}
public DictionaryNode(String word, int level) {
this.word = word;
this.level = level;
next = null;
}
}
private DictionaryNode head = null;
public DictionaryNode copy = null;
//used to do deep copy
public void Clone() {
DictionaryNode temp = head.next;
while(temp != null) {
copy = new DictionaryNode(temp.word , temp.level);
copy = copy.next;
temp = temp.next;
}
}
public void displayCopy() {
DictionaryNode temp = copy.next;
while(temp != null) {
Sytem.out.println(temp.word)
temp = temp.next;
}
}
Sie vergeben niemals einen Wert für "Kopf". Außerdem denke ich, dass Ihre Klonmethode einen Verweis auf das geklonte Wörterbuch zurückgeben sollte. –
Kopf wird über den Benutzer aus Datei lesen initialisiert, aber Problem ist, wenn ich versuche, Temp-Referenz des Kopfes zuweisen funktioniert und zeige mir den gesamten Inhalt, aber wenn ich versuche, temp = Kopie funktioniert nicht – Anny
Wenn ja, dann den Code Sie gebucht isn Was du eigentlich rennst. –