Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Multidimensionales Array oder Packed Record ? (https://www.delphipraxis.net/79317-multidimensionales-array-oder-packed-record.html)

semo 24. Okt 2006 19:18

Re: Multidimensionales Array oder Packed Record ?
 
wäre das nicht dann schon ein neues thema?

r2c2 24. Okt 2006 19:19

Re: Multidimensionales Array oder Packed Record ?
 
Zitat:

Zitat von Bernd Nowak
Irgednwelche ideen zu tlist.sort ?

Wollt die ganze Zeit schon antworten, bin aber nicht dazu gekommen...

Zitat:

wobei ich sagen muss das die Delphi 7 Hilfe sogar noch besser ist als die in TP2006.
Seh ich auch so...

Zu deinem Code:
- Die Bezeichner sind für mich sehr verwirrend, da sie nicht unbedingt den Konventionen entsprechen. Bsp: Typen beginnen mit einem T(nicht mit nem R, wie bei dir), Pointer auf Typen haben den selben Namen wie die Typen, nur mit dem P-Präfix(nicht, wie bei dir den Namen der Liste...)
- Du produzierst Speicherlocher. Alles, was du mit New erzeugst, musst du manuell freigeben
- nimm besser Klassen und ne TObjectList(am besten mit Template(siehe CodeLibrary)); dann musst du dich nicht mit den direkten Pointern rumärgern. Dereferenzieren macht Delphi für dich... Außerdem kannst du dann auch die entsporechenden Methoden mit reinpacken...
- Zum Sortieren, suchst du dir n passenden Algorithmus(SelectSort: einfach quadratisch, stabil; QuckSort: etwas komplizierter, schnell, instabil; InsertionSort: einfach, quadratisch, stabil, sehr gut bei fast sortierten Listen; MergeSort: komplizierter, gibt in unterschiedlichen Varianten; IntroSort: IMHO verbesserter QuckSort, komplizuierter, sehr schnell; ...) und schreibst zum Vergleich ne eigene Funktion(liefert -1, 0, 1 zurück), am besten als Methode der TCar-Klasse(oder, wie auch immer deine Datenklasse heißt). Die-Sortieren-Prozedur implementierst du dann am besten als Methode der Listenklasse. Diese Verwendet dann die Vergeleichsfunktion der Datenklasse. Des weiteren hat T(Object)List auch ne Sort Methode, der du ne Vergleichs-Funktion als CallBack übergeben musst. IMHO verwendet T(Object)List intern n QuickSort, was wieder bedeutet, dass das Verfahren instabil ist... Weiß nicht, ob das erwünscht ist...

Bei Fragen, fragen...

mfg

Christian


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:12 Uhr.
Seite 2 von 2     12   

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