下面是 C 上通用 qsort 的代码片段。
当在递归中调用 genmyqsort 的第四个参数时,我该写什么?
int compnode(node *a, node *b){
return(strcmp(a->name,b->name));
}
void genmyqsort(void *a, int n, int size, int (*fcmp)(const void*,const void*)){
int pivot;
if(n>1){
pivot=partition(a,n,size);
genmyqsort(a*size, pivot,size);
genmyqsort(a+(pivot+1)*size,n-pivot-1,size);
}
}
在 main 中调用 Qsort。
genmyqsort(b,n,sizeof(node),(int(*)(const void*, const void*)) compnode);