Einzelnen Beitrag anzeigen

idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#3

AW: Sortiern nach Datum (strings)

  Alt 13. Jun 2010, 09:09
Zitat:
Ich hab es mal mit einem einfachen Bubblesort getestet, aber das schien nicht zu funktionieren.
Warum sollte ein einfacher Bubblesort gerade da nicht funktionieren?

Der Schlüssel zum Sortieren ist die Vergleichsroutine, mit einem direkten Stringvergleich wirst Du nicht weit kommen, weil der ja alphabetisch und nicht nach Datum sortiert. Aber wenn die Vergleichsfunktion die Daten richtig vergleicht, wird jeder (richtig implementierte) Sortieralgorithmus sortieren.

Wenn Du Dir das vorherige Konvertieren in ein Datumsformat sparen willst:

function less (a,b: string): boolean;
begin
less := copy(a,7,2)+copy(a,4,2)+copy(a,1,2) < copy(b,7,2)+copy(b,4,2)+copy(b,1,2)
end;

Wenn es sich nur um relativ wenige Werte handelt, ist die Ineffizienz, die durch den Zusatzaufwand bei jedem einzelnen Vergleich entsteht, gleichgültig. Die Funktion funktioniert natürlich nur für Daten ab dem Jahr 2000 mit jeweils zweistellig angegebener Jahreszahl, Monatszahl und Tageszahl.
  Mit Zitat antworten Zitat