Ich versuche, die c-Bibliothek qsort im Kontext der Zeiger auf Strukturen zu verstehen. Hier ist der vorhandene Code, Ich mag würde manipulieren:mit einem qsort, um struct Zeiger mit verschiedenen Variablen zu sortieren
Die Struktur:
#define MAX_NAME 20
#define NUM_MONTHS 12
typedef struct EMP {
char name[MAX_NAME+1];
int monthSales[NUM_MONTHS];
int total;
} Emp;
Die globale Initialisierung der Daten und ihre Größe:
Emp *data;//where all entries are kept
int empSize;
und ich aufgebaut haben 2-Arrays von EmP-Zeigern, die ich gerne auf die Daten in verschiedenen Aufträgen beziehen würde:
Emp *nameArray[empSize];//an array of pointers to point to entries alphabetically
Emp *salesArray[empSize]; //an array of pointers to pointing to entries by sales
Nachdem sie identisch zugewiesen wurden, möchte ich sie mit einem qsort anders anordnen. der Namearray alphabetisch, den Namen in der Struktur und die salesArray größten zur kleinsten verwenden, die insgesamt in der Struktur mit
Was die Methoden und die qsort Argumente aussehen vergleichen sollte?
Dank
ist diese Hausaufgabe? Es scheint die Art von Frage zu sein, die ich mir gestellt habe, als ich im Bildungsbereich arbeitete. – gbulmer
Wie sieht Ihr Code aus, der versucht, eines der Arrays zu sortieren? Haben Sie mit einer Reihe von Emp-Daten [empSize] begonnen, um es ein bisschen einfacher zu machen, sich damit abzufinden? Ich würde mit einem Array der Strukturen beginnen, das funktioniert und dann das Array von Zeigern verwenden. Schreiben Sie dann die zweite Vergleichsfunktion und verwenden Sie das zweite Array von Zeigern. – gbulmer