我想傳遞一個任意的結構指針數組和比較函數到一個通用的排序算法。這可能在C嗎?將任意結構指針的數組傳遞給C函數?
只能在比較函數內訪問結構的陰影,排序函數只需要調用比較函數和交換指針,但我不知道如何聲明它。
function sorter(struct arbitrary ** Array, int Length, int cmp(struct node * a, struct node * b))
{
for (int i=0; i<Length;i++){
if cmp(Array[i],Array[i+1]){
swap(Array[i],Array[i+1]
}
}
}
注意**緩衝區溢出**。在你的代碼中,通過循環的最後一遍,'i + 1'將嘗試訪問一個不可知的元素。 – pmg 2009-11-01 11:55:55