Mit qsort absteigend sortieren

Hi,
Wie kann ich mit qsort ein Array in absteigender Ordnung sortieren. So viel ich weiß sortiert qsort standardmäßig aufsteigend, also 1,2,3,usw.

Danke im Voraus!

Hallo

Wie kann ich mit qsort ein Array in absteigender Ordnung
sortieren. So viel ich weiß sortiert qsort standardmäßig
aufsteigend, also 1,2,3,usw.

Hier ist nicht ganz klar, was Du meinst. Die C/C+±
Bibliotheksfunktion ‚qsort‘ sortiert *gar nicht*
„standardmäßig“, man muss ihr eine „Vergleichsfunktion“
mitgeben, die über die Sortierreihenfolge entscheidet,
z.B.:

#include 

 
int asc\_sorter(const void \*i1, const void \*i2) {
 return \*(int \*)i1 - \*(int \*)i2; /\* aufsteigend sortiert \*/
}

int dsc\_sorter(const void \*i1, const void \*i2) {
 return \*(int \*)i2 - \*(int \*)i1; /\* absteigend sortiert \*/
}


 int main()
{
 int array[] = { 3, 2, 1, 9, 8, 0, 4, 5, 6, 7 };
 int nelem = sizeof array / sizeof \*array;

 qsort(array, nelem, sizeof \*array, dsc\_sorter); /\* oder asc\_sorter \*/

 return 0;
}

Grüße

CMБ

Danke! Endlich einmal ein richtiges Beispiel für den Einsatz von qsort. Danach habe ich schon überall gesucht, aber bisher kein richtiges gefunden.
Danke, nochmal! Wenn ich noch Fragen haben sollte, melde ich mich!