У меня есть дважды связанный список, и я хочу вставить элемент в конце списка рекурсивно. У меня есть метод, который делает это без рекурсии, и он работает. Я просто не могу понять, как это сделать с рекурсией. Вставка в конце односвязного списка с рекурсией довольно понятна, я думаю, поэтому я надеюсь, что кто-то может объяснить, как это сделать, когда список дважды связан. Вот мой обычный метод вставки, что я хочу сделать рекурсивный:Рекурсивно вставлять в конец дважды связанного списка
public void insert(T element) {
Node in = new Node(element);
if (in == null) {
first = in;
} else {
Node tmp = first;
while (tmp.next != null) {
tmp = tmp.next;
}
tmp.next = in;
in.prec = tmp;
}
}
Обычно, дважды связного списка есть маркер для последнего элемента, поэтому вставка в конце не требует ни цикла, ни рекурсии. – RealSkeptic