Entwickler-Ecke

Algorithmen, Optimierung und Assembler - String Sortieren


tetris84 - Do 15.12.11 14:47
Titel: String Sortieren
Hallo,

ich habe einen String mit 5 verschiedenen Dateinamen. Die Dateinamen haben immer 7 Zeichen und am Anfang eine Zahl.
Beispiel:

Delphi-Quelltext
1:
2:
var x:string
x:= 119.jpg230.jpg871.jpg212.jpg361.jpg;


Nun möchte ich das dieser String mittels Bubblesort nach meiner Funktion so aussieht:


Delphi-Quelltext
1:
2:
var x:string
x:= 871.jpg361.jpg230.jpg212.jpg119.jpg;


Wie bekomme ich das hin? Bin anmälich echt am Verzweifeln :/

Lg tetris84


Gausi - Do 15.12.11 14:57

Dazu würde ich den String erstmal in die einzelnen Bestandteile aufteilen. Dazu kannst du ein Array of String nehmen, und zum Kopieren der Einzelteile Copy. Dieses String-Array sortierst du dann mit Bubblesort, und fügst am Ende den String wieder zusammen.


Nersgatt - Do 15.12.11 14:58

Darf es auch was fertiges sein? Einfach die Strings in eine TStringList packen. Sorted auf True und fertig. Dann kannst Du auch komfortabler auf die einzelnen Dateinamen zugreifen.


Horschdware - Do 15.12.11 14:58

Trenne den String auf und lege die einzelnen Dateinamen in einem Array (z.b. array of String) ab. Dieses sortierst du dann mit Bubblesort und fügst am Ende alle Einzelteile wieder zusammen.


tetris84 - Do 15.12.11 15:35

Oh man auf ein Array bin ich garnicht gekommen :roll:

Vielen Danke


Delphi-Laie - Do 15.12.11 15:49

user profile icontetris84 hat folgendes geschrieben Zum zitierten Posting springen:
Oh man auf ein Array bin ich garnicht gekommen :roll:


Ähnliche Daten lassen sich auch in anderen komplexeren Datentypen vereinigen, so z.B. Listen, egal, ob vom vorgefertigten Typ TList oder selbsterstellte einfach oder doppelt verkettete Listen.

Nur der Vollständigkeit halber.

Aber ein Array dürfte wohl für den Anfang das einfachste sein.