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!!
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.