Einzelnen Beitrag anzeigen

Delphi-Laie

Registriert seit: 25. Nov 2005
1.413 Beiträge
 
Delphi 10.1 Berlin Starter
 
#6

Re: Sortierkino - Visualisierung diverser Sortieralgorithmen

  Alt 21. Okt 2009, 11:28
Danke für Eure positiven Rückmeldungen! Ich hoffe, daß die Quelltexte bis weit nach oben aufwärtskompatibel sind. Ich fand schon wieder etwas hinsichtlich einer kleinen Verbesserung, die ich wohl heute noch hochladen werde. Die flexible Anpassung der Arraylängen zur Laufzeit dürfte im übrigen eher Unfug sein, aber ich belasse sie, einmal erstellt, nun.

Zitat von alzaimar:
Eine schöne Sache , aber den Code solltest Du so nicht freigeben.
Von den eigentlichen Ideen, nämlich den Sortieralgorithmen, stammt nichts nennenswertes oder gar schützenswertes von mir, dieses Programm war und immer noch ein wenig ist fast eine reine Fleißarbeit. Wurde alles von den o.a. Quellen zusammengesammelt. Außerdem halte ich es für ein Gebot der Fairneß, Foren, denen ich etwas entnommen habe, auch etwas zurückzugeben. Nunmehr ist der Code ohnehin ins „Nirvana“ entsandt, für eine Wiedereinsammlung ist es jetzt zu spät. Auch soll jeder, den es interessiert, gleich direkt, ohne größere Suchmühe, auf den gewünschten Algorithmus zurückgreifen können.

Zitat von alzaimar:
Versuche mal, das Ganze mit OOP umzusetzen.
Davon habe ich leider so gut wie keine Ahnung. Ich beschäftige mich immer nur mit dem, was ich „wirklich“ benötige. Als Nichtinformatiker interessiere ich mich zwar für die mathematischen Hintergründe, sprich, die Algorithmen, jedoch kaum für Programmierkonzepte. Bisher habe ich alles auch ohne OOP hingekommen. Ja, ich weiß, das läuft auf die ewige Diskussion „Wozu das? Das benötigte ich noch nie!“ hinaus, die ich hier nicht wieder anzetteln und auch kein pädagogisches Negativbeispiel sein möchte.

Zitat von guidok:
Finde ich sehr schön anschaulich, wobei ein sauberes OOP-Design bei der Programmierung noch schöner wäre.
S.o.

Zitat von guidok:
- Ich finde das rahmenlose Design bei nicht bildschirmfüllender "Animation" etwas irritierend.
Einfach Mausklick oder Tastendruck beendet es, wenn die Sortierung fertig ist, ansonsten ESC (bei den von mir so wahrgenommenen langsamsten Algorithmen). Ansonsten ließe sich ggf. prüfen, ob ein Fenster mit Rahmen noch in den Bildschirm paßt (wie?), und der Rahmen dann ggf. zugeschaltet wird. Das scheint aber nicht ganz so trivial zu sein, weil ein Hinzufügen des Rahmens zum Fenster (Borderstyle verändern?!), das schon die Bildschirmkoordinaten besitzt, dieses Fenster einfach auf Bildschirmgröße verkleinert (also konkret werden die Clientabmessungen des Fensters verringert). Der (rahmenlose) Vollbildmodus ist allerdings der von mir präferierte. Vielleicht kommt die Fensterrahmenidee noch hinzu, wenn ich weiß, wie.

Edit: Dazu habe ich anscheinend die Lösung gefunden, wird bei Erfolg recht bald hier neu hochgeladen.

Zitat von guidok:
- Der Bildaufbau ist manchmal etwas gestört (Streifen, Hintergrund "schimmert" durch).
Vermutlich ein von Windows verursachten Neuzeichnen. Habe mich damit wirklich lang beschäftigt. Also, ein solches Ereignis sollte die bis dato temporär sortierte Menge (von mir programmiert) neuzeichnen lassen, so meine Idee. Dazu hätte das Sortieren unterbrochen werden müssen. Ein extra Thread drängte sich geradezu auf (meine erste Begegnung mit Threadprogrammierung). Nur, zwei Threads, die auf ein Formular zugreifen, benötigen Synchronize (sonst Abstürze oder anderes unkontrollierbares Verhalten). Der Sortierthread ist jedoch voll ausgelastet, und Synchronize lähmt damit auch den anderen, eigentlich das Ereignis überwachenden (und ggf. die Sortiermenge neuzeichnenden) Thread. Pustekuchen, damit war ich mit meinem Latein am Ende. Sonst hatte ich bis Delphi immer meine Wünsche erfüllt bekommen, doch das war das erste Mal, daß ich an dessen Grenzen geriet (oder kennt jemand eine Lösung?). So blieb es beim Neuzeichnen der Sortiermenge nach Ende des Sortierens.

Am besten, den Computer während des Sortierens in Ruhe lassen, keine externen Fensterhandhabungen o.ä., was irgendwo anders Windows irgendetwas an der Bildschirmgraphik „rummachen“ läßt.

Zitat von guidok:
Klasse wäre es das ganze noch um etwas Theorie zu erweitern. Also eine Erklärung zu den Vor- und Nachteilen den Algorithmen und Funktionsweise und Einsatzfälle. Das könnte dann eine Art "Sortierkompendium" darstellen.
Sicher wäre das klasse, doch dafür bin ich erstens nicht der richtige (bin kein Informatiker), und zweitens ist das nicht mein Ziel und wird es auch nicht sein/werden. Bestimmt werdet Ihr mir zustimmen, daß sich in einschlägiger (und keinesfalls übermäßig spezieller, Grundlagen der Informatik reichen schon) Literatur und auch im Internet Informationen zuhauf zu diesen Algorithmen finden lassen.
  Mit Zitat antworten Zitat