|
|
|
@ -46,10 +46,9 @@ TR_heapGet(TR_Heap this) |
|
|
|
return value; |
|
|
|
} |
|
|
|
|
|
|
|
SWAP( |
|
|
|
void *, |
|
|
|
TR_darrGet((TR_Dynarray)this, 0), |
|
|
|
TR_darrGet((TR_Dynarray)this, idx)); |
|
|
|
const void * tmp = TR_darrGet((TR_Dynarray)this, 0); |
|
|
|
TR_darrPutAt((TR_Dynarray)this, TR_darrGet((TR_Dynarray)this, idx), 0); |
|
|
|
TR_darrPutAt((TR_Dynarray)this, tmp, idx); |
|
|
|
idx = 0; |
|
|
|
|
|
|
|
while (left < ((TR_Dynarray)this)->size && |
|
|
|
@ -67,10 +66,12 @@ TR_heapGet(TR_Heap this) |
|
|
|
if (0 > this->comp( |
|
|
|
TR_darrGet((TR_Dynarray)this, idx), |
|
|
|
TR_darrGet((TR_Dynarray)this, change))) { |
|
|
|
SWAP( |
|
|
|
void *, |
|
|
|
tmp = TR_darrGet((TR_Dynarray)this, change); |
|
|
|
TR_darrPutAt( |
|
|
|
(TR_Dynarray)this, |
|
|
|
TR_darrGet((TR_Dynarray)this, idx), |
|
|
|
TR_darrGet((TR_Dynarray)this, change)); |
|
|
|
change); |
|
|
|
TR_darrPutAt((TR_Dynarray)this, tmp, idx); |
|
|
|
idx = change; |
|
|
|
left = (idx << 1) + 1; |
|
|
|
right = left + 1; |
|
|
|
|