Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)

  Alt 16. Mai 2017, 21:23
Zitat:
Ein bisschen komisch kommt mir die repeat-schleife vor, weil ja sozusagen diese repeat-schleife immer wieder die Funktion aufruft.
Ja was ist denn der Unterschied zwischen einer rekursiven und einer iterativen Funktion, bzw. was ist das Merkmal einer Rekursion?

Nicht der innere Funktionsaufruf kommt mir komisch vor, sondern die Schleife drumrum.
Kommt einem fast so vor, als sei das ein Mischmasch aus Rekursion und Iteration.

Zuerst dachte ich das die Listendefinition sei falsch.
Das ist doch eine einfach verkettete lineare Liste ohne Unterverzweigungen?
Also wozu die Schleife?

Delphi-Quellcode:
  ZeigListMax := ZeigListMax(inRefAnfang);
until HilfszeigerEins^.next = nil;
ZeigListMax := inRefAnfang;
ZeigListMax := ... fällt dir da was auf?
Die erste Zuweisung wird niemals verwendet und vermutlich sollte der Compiler das dir auch sagen. Also höre besser auf ihn.

PS: Den Funktionsnamen als "Ergebnis"-Variable zu verwenden ist nicht sonderlich übersichtlich.
Verwende besser Result := ... , welches es seit bestimmt schon über 25 Jahren gibt, auch wenn die alte Variante nicht unbedingt "falsch" ist.
$2B or not $2B

Geändert von himitsu (16. Mai 2017 um 21:28 Uhr)
  Mit Zitat antworten Zitat