|
@@ -64,7 +64,6 @@ int dglHeapInsertMin(dglHeap_s * pheap,
|
|
|
|
|
|
i = ++pheap->index;
|
|
|
|
|
|
-
|
|
|
while (i != 1 && key < pheap->pnode[i / 2].key) {
|
|
|
pheap->pnode[i] = pheap->pnode[i / 2];
|
|
|
i /= 2;
|
|
@@ -87,7 +86,7 @@ int dglHeapExtractMin(dglHeap_s * pheap, dglHeapNode_s * pnoderet)
|
|
|
|
|
|
*pnoderet = pheap->pnode[1];
|
|
|
|
|
|
- temp = pheap->pnode[pheap->index--]; /* keep last item */
|
|
|
+ temp = pheap->pnode[pheap->index--];
|
|
|
|
|
|
iparent = 1;
|
|
|
ichild = 2;
|
|
@@ -98,13 +97,13 @@ int dglHeapExtractMin(dglHeap_s * pheap, dglHeapNode_s * pnoderet)
|
|
|
ichild++;
|
|
|
}
|
|
|
if (temp.key <= pheap->pnode[ichild].key)
|
|
|
- break; /* are you sure ? */
|
|
|
+ break;
|
|
|
|
|
|
pheap->pnode[iparent] = pheap->pnode[ichild];
|
|
|
iparent = ichild;
|
|
|
ichild *= 2;
|
|
|
}
|
|
|
- pheap->pnode[iparent] = temp; /* reinsert last item */
|
|
|
+ pheap->pnode[iparent] = temp;
|
|
|
|
|
|
return 1;
|
|
|
}
|
|
@@ -157,7 +156,7 @@ int dglHeapExtractMax(dglHeap_s * pheap, dglHeapNode_s * pnoderet)
|
|
|
ichild++;
|
|
|
}
|
|
|
if (temp.key >= pheap->pnode[ichild].key)
|
|
|
- break; /* are you sure ? */
|
|
|
+ break;
|
|
|
|
|
|
pheap->pnode[iparent] = pheap->pnode[ichild];
|
|
|
iparent = ichild;
|