Forum: PC-Programmierung c: qsort mehrdimensionaler arrays unter beibehaltung der zeilen


von Elisa L. (blablablub)


Lesenswert?

hallo zusammen,

habe ein problem bei der sortierung mehrdimensionaler arrays in c mit 
qsort (1d funktioniert). ich würde das array gerne nach der ersten 
spalte sortieren, sodass die anderen zeilen-einträge ihren platz mit 
ändern. also aus:
3 4
5 7
4 9
1 8
2 0
sollte etwas werden wie:
1 8
2 0
3 4
4 9
5 7.
kann mir jemand sagen, wie ich das prinzipiell mit qsort machen kann?

vielen dank schonmal vorab für die hilfe!!

von Yalu X. (yalu) (Moderator)


Lesenswert?

Das geht im Prinzip genauso wie bei einem eindimensionalen Array.

In C ist auch ein zweidimensionales Array in Wirklichkeit ein
eindimensionales Array, dessen Elemente wieder Arrays sind.

Damit sollten die ersten drei Elemente für den Aufruf von qsort klar
sein. Für das vierte Argument, die Vergleichsfunktion, musst du eine
Funktion schreiben, die zwei (Zeilen-)Arrays entgegennimmt und deren
erste Elemente vergleicht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.