![]() |
Sortierung eines RECORD-Arrays
Hallo,
ich würde gern mein Array sortieren :
Delphi-Quellcode:
allerdings will ich nach 2 Werte sortieren:
type
arrRec = record flag : integer; title, description : string; end; var arr_data : array[1..10] of arrrec; Primär "flag" und secondär "title"! Bestes Beispiel wie die SQL-Anweisung :
SQL-Code:
Kennt jemand eine fertige gute Funktion bzw. Algo dafür???
... ORDER BY flag,title ASC
MfG |
Re: Sortierung eines RECORD-Arrays
Sortieralgorithmen gibt's ja genug... sortier einmal nach "flag" und alle gleichen flags nochmal nach "title".
Dust Signs |
Re: Sortierung eines RECORD-Arrays
Delphi-Quellcode:
Die Routine einfach angleichen. ist eigendlich eine recht schnelle.
procedure DOQuickSort(X: array of Integer);
procedure QuickSort(var A: array of Integer; iLo, iHi: Integer); var Lo, Hi : Integer; Mid, T : Integer; //angleichen begin Lo := iLo; Hi := iHi; Mid := A[(Lo + Hi) div 2]; repeat while A[Lo] < Mid do Inc(Lo); while A[Hi] > Mid do Dec(Hi); if Lo <= Hi then begin T := A[Lo]; A[Lo] := A[Hi]; A[Hi] := T; Inc(Lo); Dec(Hi); end; until Lo > Hi; if Hi > iLo then QuickSort(A, iLo, Hi); if Lo < iHi then QuickSort(A, Lo, iHi); end; begin QuickSort(x, Low(x), High(x)); end; Sollte damit keine probleme geben. |
Re: Sortierung eines RECORD-Arrays
danke,
aber ich hab das problem mit dem RECORDS. da sehe ich nicht durch. wie kann ich denn ein array-eintrag der ein record hat mit einem anderen tauschen??? |
Re: Sortierung eines RECORD-Arrays
Zitat:
Dust Signs |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:47 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