2016-11-05 2 views
-3

machen Mein Buch fordert mich auf, eine rekursive Definition einer einfach verknüpften Liste zu machen. Ich habe überhaupt keine Ahnung, wie ich das machen soll. Kann mir bitte jemand mit einer Probe helfen? DankeWie rekursive einfach verknüpfte Liste (C++)

+0

Ich weiß nicht, wie viel detaillierter ich in meiner Frage bekommen kann. Was ich in meinen Fragen gefragt habe, ist BESONDERS, was ich wissen möchte. Ich weiß nicht, warum ihr bei einer Frage so verdammt genau sein müsst. Dieses Forum soll Fragen stellen, aber es scheint, als ob es immer ein Problem mit meiner Frage gibt, wenn ich es frage. –

Antwort

0

Es ist wie eine normale verkettete Liste, außer dass die Iteration durch Rekursion und nicht durch Schleifen durchgeführt wird.

Zuerst ein wenig Leselicht:

Zum Beispiel kann eine Loop-basierte Funktion den letzten Knoten zu finden sein könnte:

Node * getLast(Node * current) 
{ 
    while (current->next == null) 
    { // loop until no more nodes 
     current = current.next; 
    } 
    return current; // return last node 
} 

Während die rekursive Version nur überprüft, ob der aktuelle Knoten die letzte und ruft sich mit dem nächsten Knoten auf, wenn es einen nächsten Knoten gibt.

Node * getLast(Node * current) 
{ 
    if (current->next == null) 
    { // found last node. return it 
     return current; 
    } 
    else 
    { // see if next node is last node 
     return getLast(current->next); 
    } 
} 
Verwandte Themen