Я пытался сделать глубокую копию связанного списка, известного как DictionaryNode
, который я сделал, но я не смог отобразить его содержимое в методе отображения, так как оно всегда равно нулю. почему DictinaryNode temp всегда имеет значение null? и если я попытаюсь назначить temp = head work, но с temp = copy нет.LinkedList Deep copy 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;
}
}
Вы никогда не назначаете значение 'head'. Кроме того, я думаю, ваш метод clone должен вернуть ссылку на клонированный словарь. –
Глава инициализируется через чтение пользователем из файла, но проблема в том, что если я попытаюсь назначить временную ссылку главы, она работает и отображает все содержимое, но если я попробую temp = copy не работает – Anny
Если это так, то код, который вы отправили, не является Это то, что ты на самом деле бегаешь. –