Hi,
ich habe ein Verständnisproblem beim Hinzufügen von Knoten an einer bestimmten Stelle in einer LinkedList (oder ähnlich dazu ist das HInzufügen in einer sortierten Liste). Es handelt sich um eine rekursive Methode, aber ich verstehe nicht so ganz, was passiert, wenn man die Basisfall (steps == 0) erreicht hat. Mit der der "return" Anweisung bei steps == 0 wird doch die gesamte Methode beendet, wie wir dann der restliche Teil der Liste, der nach dem einzufügenden Element kommt "angehängt"?
Danke
ich habe ein Verständnisproblem beim Hinzufügen von Knoten an einer bestimmten Stelle in einer LinkedList (oder ähnlich dazu ist das HInzufügen in einer sortierten Liste). Es handelt sich um eine rekursive Methode, aber ich verstehe nicht so ganz, was passiert, wenn man die Basisfall (steps == 0) erreicht hat. Mit der der "return" Anweisung bei steps == 0 wird doch die gesamte Methode beendet, wie wir dann der restliche Teil der Liste, der nach dem einzufügenden Element kommt "angehängt"?
Danke
Java:
public void add(int index, int value) {
if ( index < 0 || index > size()) {
throw new IndexOutOfBoundsException("Der Index liegt außerhalb des korrekten Wertebereichs!");
}
this.head = add(this.head, index, value);
}
private ListNode add(ListNode node, int steps, int value) {
if (steps == 0) {
return new ListNode(value, node);
}
node.setNext(add(node.getNext(), steps-1, value));
return node;
}