klaus schrieb:
> Wie geht man vor wenn man diese Daten sortiert anzeigen möchte?
Musst du komplett durchsortieren?
> qsort um z.B. nach Namen zu sortieren.
qsort hilft dir dabei nicht
> Gibt es einen Lösungsansatz, denn man kann ja nicht alle Daten in den
> Speicher laden und dann sortieren, dazu reicht der Speicher nicht.
Dann musst du auf Methoden zurückgreifen, wie sie in den 60-er Jahren
benutzt wurden um Daten zu sortieren, die auf Bändern liegen und nicht
alle gemeinsam geladen werden können.
zb die Daten in mehrere 'Bänder' aufteilen.
Jedes Band für sich sortieren.
Danach jeweils 2 Bänder zu einem gemeinsamen neuen Band zusammenmischen.
Das ganze wird solange wiederholt bis nur noch 1 einziges sortiertes
Band übrig bleibt.
Das Mischen funktioniert so.
Stell dir vor du hättest 2 bereits sortierte Stapel mit Spielkarten.
Du hebts dann von jedem Stapel die erste Karte ab, die kleinere der
beiden Karten legst du auf den Ausgangsstapel und hebst von demselben
Stapel die nächste Karte ab. Wieder wird mit der Karte vom anderen
Stapel verglichen und die kleinere auf den Ausgangsstapel gelegt. usw.
usw.
Nur dass bei dir das eben keine Kartenstapel sind, sondern Files auf
einer SD-Karte. Das halten der Daten im Speicher wird durch Lesen von
einer Datei ersetzt.
(Und natürlich macht es keinen Sinn erst mal für jede Karte eine eigene
Datei zu erzeugen. Daher teilt man die Komplettdaten erst mal in mehrere
Haufen auf, sortiert die einzeln mit zb qsort, ehe dann das
Zusammenmischen der einzelnen Haufen beginnt).
PS: man kann auch mehr als 2 Haufen in einem Durchgang zusammenmischen.
Das Prinzip nach dem das funktioniert sollte augenfällig sein.