C语言,如何对结构体的不同成员排序?一个结构体类型有5个成员,需要分别按这5个成员的关键字排序

2024-12-16 03:04:41
推荐回答(1个)
回答1:

还真是这样,当然搜睁,你可以做点手脚,牺牲下空间。比如在结构体里保存一个指向如何排序的引导,在比较函数里拆码面再提取这个信息,判断是哪个字段,做什么比较。一般这种比较函数跟qsort一起用。

typedef struct {
int key;
double value;
} the_record;

int compare_function(const void *a,const void *b) {
the_record *x = (the_record *) a;
the_record *y = (the_record *) b;
return x->key - y->旅漏哪key;
}