Ich versuche, eine verknüpfte Liste mithilfe von Rekursion umzukehren, und habe dafür den folgenden Code geschrieben. Die Liste ist am Anfang der Liste am Anfang.
node *reverse_list_recursive(node *list)
{
node *parent = list;
node *current = list->next;
if(current == NULL)
return parent;
else
{
current = reverse_list_recursive(current);
current->next = parent;
printf("\n %d %d \n",current->value,parent->value);
return parent;
}
}
Ich konnte sehen, dass alle Links umgedreht werden. Wenn ich jedoch versuche, sie anzuzeigen, erhalte ich unendlich viele Ausdrucke der Zahlen. Ich vermute einen Fehler, wenn ich versuche, die Verknüpfung für die erste Zahl in der Liste umzukehren.
Was mache ich falsch?