Ниже приведены фрагменты кода родового QSort на C.Generic Quicksort
Что я пишу в четвертом параметре 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);
}
}
звонок по Qsort в основном.
genmyqsort(b,n,sizeof(node),(int(*)(const void*, const void*)) compnode);
Я думаю, вам нужно только передать указатель функции сравнения для функции распределения. – phoxis
Что такое узел? Вы получаете ошибку компиляции? Вы, кажется, не используете fcmp где-либо – doctorlove
прошло (int (*) (const void *, const void *)) compnode как четвертый параметр. благодаря –