7 Stimmen

Umkehrung der verketteten Liste

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?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X