我想確切地知道第三個參數應該是什麼,因爲我從來沒有見過類似的東西。我的書的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」作爲一個參數,可以達到同樣的目的。 –