typedef struct { char *name; char *course; } Item; #define key(A) (A.name) #define lt(A, B) (strcmp(key(A), key(B)) < 0) #define le(A, B) (strcmp(key(A), key(B)) <= 0) #define ge(A, B) (strcmp(key(A), key(B)) >= 0) #define gt(A, B) (strcmp(key(A), key(B)) > 0) void sort(Item a[], int lo, int hi) { return; } void swap(Item a[], int i, int j) { Item temp = a[i]; a[i] = a[j]; a[j] = temp; } int main(void) { return 0; }