void ReversePrint(Node *head)
{
Node *sec=(Node *)malloc(sizeof(Node));
sec->next=NULL;
sec->data=0;
if(head!=NULL)
{
ReversePrint(head->next);
Node *tmp=sec;
tmp->data=head->data;
cout<<tmp->data<<endl;
tmp=tmp->next;
}
cout<<"hello"<<endl;
}
input: 2 1 4 5Kann jemand erklären, wie die Anweisungen ausgeführt werden, sobald die Rekursion beendet ist?
Ausgabe ist: - Hallo Hallo Hallo Hallo Hallo
verstehe ich nicht, wie Hallo, bevor das gedruckt wird, letztes Element (in diesem Fall erstes Element, dh umgekehrte Reihenfolge) der verketteten Liste.
Das Erwähnen der Programmiersprache würde helfen. – JJJ
@Juhana Ich habe jetzt die Programmiersprache erwähnt, danke für den Vorschlag –
Ich schlage vor, diesem Code mit einem Debugger zu folgen, um den Ausführungsablauf zu verstehen. Beachten Sie außerdem, dass dieser Code Speicher verliert. –