Einzelnen Beitrag anzeigen
Alt 06.06.2002, 18:10   #5
PredeX
Senior Member
 
Registriert seit: 03.09.2001
Alter: 41
Beiträge: 165


Standard

also ich habe jetzt in meinem "schlauen buch" nachgesehen, und folgendes gefunden:

Zitat:
Die Vergleichsfunktion compare muss normalerweise selbst definiert werden. Die Parameter dieser Funktion sind zwei Zeiger auf die Vektorelemente, die zu vergleichen sind. Die Zeiger werden als "typenlose Lesezeiger" deklariert.
Deshalb meine Frage: Hast du eine solche Funktion deklariert, und sieht sie ungefähr wie folgt aus?
Code:
int compare( const void *p1, const void *p2)
{
  if(  *(int *)p1 > *(int *)p2 ) retrun (1); 
  // ersetze (int *) durch den Datentypen den du bei deinem Array verwendest
  else if( *(int *)p1 < *(int *)p2 ) return (-1);
  // ersetze (int *) durch den Datentypen den du bei deinem Array verwendest
  else                               return (0);
}
Die Returnwerte entsprechen dann denen die qsort() verwendet um zu entscheiden, wie die Werte zu sortieren sind:

Zitat:
Der Return-Wert ist kleiner als 0, gleich 0, oder größer als 0, je nachdem ob das erste Vektorelement kleiner, gleich oder größer als das zweite Element ist.
Hoffe ich konnte weiterhelfen...

PredeX
____________________________________
There are 10 types of people, those who understand binary and those who don\'t...

Ask Me No Questions, And I Tell You No Lies!
PredeX ist offline   Mit Zitat antworten