呦。我有這個非常簡單的交換功能,似乎無法正常工作。可能是一個指針問題,所以任何建議都會很好。堆交換功能似乎扭曲
void swap(pQueue *h, int index1, int index2) {
student *temp = &h->heaparray[index1];
h->heaparray[index1] = h->heaparray[index2];
h->heaparray[index2] = *temp;
}
pQueue
是堆指針,index1
和index2
保證是有效索引。
student *temp
確實得到了heaparray[index1]
的值,但是當heaparray[index2]
被指定爲臨時值時,heaparray[index2]
保持不變。任何意見讚賞。
啊,這個伎倆。謝謝! – Paha 2012-04-17 02:46:34
@Paha如果解決了您的問題,請接受答案。 – 2012-04-17 03:07:43