Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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.

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

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.

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

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.