Hi!
Ich möchte ein Programm schreiben, mit dem ich aus einer beliebig großen Textdatei duplikate entfernen kann, ohne dabei die bestehende Ordnung zu zerstören.
Mein bisheriger Lösungsansatz:
Die Liste wird zunächst alphabetisch Sortiert (Dabei müsste die ursprüngliche Reihenfolge irgendwie gemerkt werden).
Anschließend wird immer ein Wort auf übereinstimmung mit dem Folgenden geprüft.
Wenn sie nicht übereinstimmen, wird das Wort in die Zieldatei geschrieben.
Frage: wie könnte man die Reihenfolge "merken" und anschliessend wiederherstellen?
Und wie performant wäre das ganze bei ca. 5M Zeilen in der Datei?
Könnte man vielleicht irgendwie "häppchenweise" Wörter in ein Byte-Array laden und dann vergleichen?
Würde wohl schneller gehen.
Oder habt ihr noch ganz andere Ideen?
Lg
Ich möchte ein Programm schreiben, mit dem ich aus einer beliebig großen Textdatei duplikate entfernen kann, ohne dabei die bestehende Ordnung zu zerstören.
Mein bisheriger Lösungsansatz:
Die Liste wird zunächst alphabetisch Sortiert (Dabei müsste die ursprüngliche Reihenfolge irgendwie gemerkt werden).
Anschließend wird immer ein Wort auf übereinstimmung mit dem Folgenden geprüft.
Wenn sie nicht übereinstimmen, wird das Wort in die Zieldatei geschrieben.
Frage: wie könnte man die Reihenfolge "merken" und anschliessend wiederherstellen?
Und wie performant wäre das ganze bei ca. 5M Zeilen in der Datei?
Könnte man vielleicht irgendwie "häppchenweise" Wörter in ein Byte-Array laden und dann vergleichen?
Würde wohl schneller gehen.
Oder habt ihr noch ganz andere Ideen?
Lg