studentenkopp Geschrieben 8. Januar 2005 Geschrieben 8. Januar 2005 Hi, wer kann mir helfen? Suche einen Algorithmus zum sortieren einer zweidimensionalen Tabelle. Zuerst soll nach Dimension 1 sortiert werden. Falls die Werte der Dimension 1 gleich sind, soll zudem die zweite Dimension sortiert werden. Vielleicht kennt sich ja jemand mit sowas aus, über Hinweise würde ich mich sehr freuen. Ciao Christian Zitieren
Bubble Geschrieben 8. Januar 2005 Geschrieben 8. Januar 2005 Das machst Du genauso, wie die Sortierung nach der 1. Dimension. Dein Problem ist vollkommen analog zum Sortieren einer Wortliste, eigentlich sogar einfacher, da Wörter quasi nur aus 2 Buchstaben bestehen (2 Dimensionen). In Deinem Fall benötigst Du lediglich eine Vergleichsfunktion, die pro zu sortierendem Element beim Vergleich mit einem anderen Element statt einem Wert zwei Werte berücksichtigt und Dein Ordnungskriterium anwendet. Wenn Du trotzdem noch Fragen hast, einfach melden. Zitieren
Klotzkopp Geschrieben 9. Januar 2005 Geschrieben 9. Januar 2005 @studentenkopp, bist du sicher, dass du nicht Dimension mit Spalte verwechselst? Zitieren
studentenkopp Geschrieben 10. Januar 2005 Autor Geschrieben 10. Januar 2005 Schonmal danke für die Antworten. Gerade die Vergleichsfunktion ist ja mein Problem. Ich will z.B. Verkäufe erst nach Tag, dann nach Artikel sortieren. Deshalb habe ich eine Tabelle angelegt, in der in der ersten Dimension Sort-Wert 1 (in dem Fall Tag), in der zweiten Dimension der Artikel steht. Leider konnte ich die Tabelle nur nach der ersten Dimension sortieren, sodaß sie dann wie folgt aussieht: Tag Artikel 20040101 1 20040501 2 20040501 1 20040501 3 Einen Algorithmus für die erste Spalte habe ich eungesetzt. Daß dieses Problem analog zum sortieren von Wörtern ist, habe ich verstanden. Da habe ich vorher nicht dran gedacht. Deshalb werde ich dann mal auf die Suche nach den entsprechenden Vorgehensweisen gehen. Nochmals Danke Komplettzitat entsorgt | Klotzkopp Zitieren
Klotzkopp Geschrieben 10. Januar 2005 Geschrieben 10. Januar 2005 Ich will z.B. Verkäufe erst nach Tag, dann nach Artikel sortieren. Deshalb habe ich eine Tabelle angelegt, in der in der ersten Dimension Sort-Wert 1 (in dem Fall Tag), in der zweiten Dimension der Artikel steht.Du verwechselst definitiv Dimension mit Spalte. Deine Tabelle hat zwei Dimensionen (Datensatz und Feld), aber sie hat auch zwei Spalten (Tag und Artikel). Was du hier Dimensionen nennst, sind einfach die Spalten. Der Algorithmus, den du suchst, sieht einfach so aus, dass du nach dem Tag sortierst, und falls der bei zwei zu vergleichenden Datensätzen gleich ist - und nur dann - nach Artikel sortierst. Zitieren
Hcore Geschrieben 11. Januar 2005 Geschrieben 11. Januar 2005 Du sortierst einfach zweimal. Das erste mal, nach dem einen Schlüssel, das zweite mal nach dem anderen, dann allerdings mit einem stabilen Sortieralgorithmus, der die Reihenfolge der Elemente mit gleichem ersten Schlüssel nicht mehr ändert, z.B. Bucketsort oder Mergesort. Dein Beispiel: Tag Artikel 20040101 1 20040501 2 20040501 1 20040501 3 erste Sortierung nach Artikel Tag Artikel 20040101 1 20040501 1 20040501 2 20040501 3 zweite Sortierung nach Tag (im Beispiel leider keine Veränderung mehr) Tag Artikel 20040101 1 20040501 1 20040501 2 20040501 3 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.