![]() |
AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)
Hallo!
Ich habs tatsächlich auch selber geschafft, glaube ich:
Code:
Ist ein bisschen anders als die Lösung von Jasocul, aber sollte auch funktionieren.
function ZeigListMax (inRefAnfang : tRefListe) : tRefListe;
{ bestimmt rekursiv einen Zeiger auf das Listenelement mit der groessten Zahl } begin if inRefAnfang = nil then ZeigListMax := nil else if inRefAnfang^.next = nil then ZeigListMax := inRefAnfang else begin if inRefAnfang^.info < (ZeigListMax(inRefAnfang^.next)^.info) then ZeigListMax := ZeigListMax(inRefAnfang^.next) else ZeigListMax := inRefAnfang; end; end; Nochmal vielen Dank euch allen für die Hilfe =) |
AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)
Komplett absurde Aufgabe. Wer solche Aufgaben stellt sollte selbst noch einmal die Schule besuchen :-D.
Das ist etwa gleich, wie wenn eine klare Brühe serviert wird und du die Gabel zum Essen verwenden sollst. |
AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)
Lernen?
Querdenken und was auch mal mit unpassenderen Mitteln lösen. |
AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)
Zitat:
Ich nutze für mathematische Probleme (Knotentheorie, Spieltheorie u.s.w.) sehr oft eine Rekursion. Aber für eine Suche nach Listenelementen, welche via Zeiger(!) miteinander verbunden sind ist die Verwendung einer Rekursion absoluter Nonsens [keine Angst: ich schreib nicht nochmal hier rein :evil:]. Querdenken immer - aber verquer... ![]() |
AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)
Zitat:
Sorry, aber bevor man das Querdenken erlernt, sollte man erstmal die richtigen Lösungsansätze erlernen. Erst, wenn man damit nicht weiterkommt, kann man Querdenken. ;) |
AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)
Mit einem Hammer kann man einen Nagel einschlagen, aber auch eine Schraube. Ein Schraubendreher eignet sich ausschlielich für die Verwendung mit Schrauben.
Manchmal darf man auch etwas neben der Spur lernen, arbeiten, experimentieren, um das beste Vorgehen wirklich im wahrsten Sinne des Wortes zu begreifen. Das ist nicht so sehr eine Frage der Lernmethode oder vermittelten Möglichkeiten, sondern m.E. eher eine Frage des individuellen Lernverhaltens. Am Ende lernt man vielleicht sogar noch, dass es nicht nur auf das richtige Werkzeug und passendes Material ankommt, sondern dass auch das Material verschiedene Wirkungen liefert und damit verschiedene Einsatzzwecke hat. Die Praxis ist selten schwarz/weiß, wenn die Theorie da etwas mitgeht, finde ich das vollkommen ok. |
AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)
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; |
AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)
Zitat:
Ich hätte vielleicht erwähnen sollen, dass ein zweiter Teil der Aufgabe die Frage war, ob denn die Rekursion hier sinnvoll angewendet wird. Also ich fand die Aufgabe ganz gut, um das Prinzip der Rekursion zumindest ein erstes Mal kennenzulernen. |
AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)
Zitat:
Dafür gibt es seit langem das Konzept, den gleichen Sachverhalt in unterschiedlichen Formen zu bearbeiten. Softwareentwicklung ist m.E. ein besonders schillerndes Gebiet, wo auch "gestandene" Fachleute kaum auf Dauer mit dem Spruch "das hab ich so gelernt" durchkommen. Wo gibt es mehr Grundsatzdiskussionen als in der Softwareentwicklung? Was heute hip oder wirklich State of the Art ist, landet morgen bei "so yesterday" und übermorgen im Papierkorb. (ob zu Recht, ist offensichtlich ein anderes Thema). Eine Ausbildung, die auch solche Probleme spiegelt, kommt mir genau richtig vor. |
AW: Finde das Maximum einer verketteten Liste (mit rekursiver Funktion)
Zitat:
![]() ![]() Jemand behauptet etwas Cooles zu haben, alle müssen es sofort bei sich verwenden, egal ob es wirklich zu ihrem Problem passt ... es ist Neu/Cool/Genial, also muß es immer und für Alles gut sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz