У меня было немало трудностей при попытке сделать глубокую копию двусвязного списка в моей java-программе.
Пока мой метод:
открытый класс DblLinkQueueреализует очередь {
public Object clone() {
DblLinkQueue copy = null;
Node currNode, tmp = null;
try {
copy = (DblLinkQueue)super.clone();
} catch (CloneNotSupportedException err) {}
for (currNode = mHead.next; currNode.next != mHead; currNode = currNode.next) {
}
System.out.println("i: " + i);
return copy;
}
}
mHead - первый узел в моем списке, и этот связанный список также является круглым.
Что-то не так с циклом my for, потому чтоон проходит через все элементы в списке, а затем бесконечно застревает на последнем элементе.
Любая помощь будет принята с благодарностью!