我想确切地知道第三个参数应该是什么,因为我从来没有见过类似的东西。我的书的C插入排序的实现
void sortPointers(void **ar, int n, int (*cmp)(const void *, const void *))
{
int j;
for (j = 1; j < n; j++)
{
int i = j - 1;
int *value = ar[j];
while (i >= 0 && cmp(ar[i], value) > 0)
{
ar[i+1] = ar[i];
i--;
}
ar[i+1] = value;
}
}
这是一个函数指针。现在你应该知道要研究什么。 –
第三个参数是一个(指向一个)比较函数的指针,它将两个元素进行排序并对它们进行比较。如果元素是有序的,则给出负数(或者在相等的情况下为0)。如果元素顺序错误,请给出肯定的结果,然后交换。也就是说,它的输出应该与'strcmp'类似。 –
签出['qsort'文档](http://en.cppreference.com/w/c/algorithm/qsort)。它具有“cmp”作为一个参数,可以达到同样的目的。 –