Vieles, was in der Schule gelehrt wird, hat mit der Realität selten was gemeinsam.
Klar, wäre es toll, wenn das anders sein würde, aber es kann hier auch nicht verkehrt sein, wenn man das selbe Ergebnis zu Lernzwecken mit verschiedenen Ansätzen löst.
So kann man selber sehn, was wo besser gelöst werden kann.
Möglich ist Beides, auch wenn die Rekursion hier nicht wirklich optimal ist, vorallem bei längeren Listen.
Delphi-Quellcode:
procedure Machen(VerketteteListe);
begin
while Assigned(VerketteteListe) do begin
MachWas(VerketteteListe);
VerketteteListe := VerketteteListe.Nächster;
end;
end;
procedure Machen(VerketteteListe);
begin
if Assigned(VerketteteListe) then begin
MachWas(VerketteteListe);
Machen(VerketteteListe.Nächster);
end;
end;