#include #include 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 swap(Item a[], int i, int j) { Item temp = a[i]; a[i] = a[j]; a[j] = temp; } void sort(Item a[], int lo, int hi) { return; } int main(void) { Item students[] = { {"Alice", "COMP2521"}, {"Bob", "COMP2521"}, {"Charlie", "COMP1531"}, {"Diana", "COMP1511"} }; int n = sizeof(students) / sizeof(students[0]); sort(students, 0, n-1); for (int i = 0; i < n; i++) { printf("%s (%s)\n", students[i].name, students[i].course); } return 0; }