我的书在C中实现了插入排序

时间:2016-07-18 16:22:03

标签: c implementation insertion-sort

我想知道第三个参数应该是什么,因为我从来没有见过这样的东西。

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;
    }
}

1 个答案:

答案 0 :(得分:0)

该参数是指向一个函数的指针,该函数对两个void *指针进行比较。这种sortPointers(..)函数的实现方式使其调用者可以使用任何比较函数,从而增加了这种灵活性。

http://c.learncodethehardway.org/book/ex18.html