Я создал СПИСОК, используя sys / queue.h функциональность, которая содержит
struct stInside{
int a;
int b;
};
struct stOutside{
struct stInside in;
LIST_ENTRY(stOutside) outq;
};
LIST_HEAD(stOutsideHead, stOutside) head = LIST_HEAD_INITIALIZER(head);
struct stOutsideHead *headPtr;
struct stOutside *list;
for(int i=0; i < 4; i++){
list = malloc(sizeof(struct stOutside));
list->in.a = i;
list->in.a = i;
LIST_INSERT_HEAD(&head, list, outq);
}
Я бы хотел знать Как и что использовать для сортировки этого списка на основе поля a struct stInside. Есть ли какие-либо конкретные MACROS, которые могли бы сделать работу? Я видел
#define LIST_SORT_PROTOTYPE(name, type, field, cmp) \
QHELPER_SORT_PROTOTYPE(LIST, name, type, field, cmp)
в sys / queue.h но я не понимаю, как это работает.
Большое спасибо за обмен и ваше время.