c: qsort mehrdimensionaler arrays unter beibehaltung der zeilen

OP #3588600
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!!
Moderator #3588664
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren