Registriert seit: 11. Apr 2004
Ort: Kanada
136 Beiträge
Delphi 2010 Professional
|
Wie logisch richtig sortieren: 1,2,3,21 (nicht 1,2,21,3)?
17. Dez 2005, 19:12
Hi, ich möchte einige Strings in eine logisch richtige Reihenfolge bringen (das das der Explorer ab WinXP auch macht).
Also nicht
bla-1-bla
bla-2-bla
bla-21-bla
bla-3-bla
(was ein 'normaler' Sortieralgorithmus, wie z.B. Quicksort, machen würde),
sondern
bla-1-bla
bla-2-bla
bla-3-bla
bla-21-bla
Im Grunde läuft alles darauf hinaus, nicht die < und > Vergleichsoperatoren von Delphi zu verwenden, sondern eine eigene isLower( , ):boolean Funktion zu schreiben.
Hab mir das so gedacht:
Haben die Strings 200 Zeichen, dann erstelle ich mir ein int-Array mit 200 Spalten und belege jede Zelle mit dem Ord( ) Wert der einzelnen Buchstaben des Strings und bei Zahlen (wenn mehrere Ziffern hintereinander stehen, zusammenfassen!) werden diese direkt hineingeschrieben; dann erfolgt solange Spaltenweise der Vergleich, bis ein Unterschied festzustellen ist.
Sind meine Überlegungen richtig bzw. hat schon eine solche Stringvergleichsprozedur geschrieben (die evtl schneller als meine ist)?
Codito, ergo sum. - I code therefore I am
|