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