69 pheap->pnode[i].key = key;
70 pheap->pnode[i].flags = flags;
71 pheap->pnode[i].value = value;
81 if (
pheap->index == 0)
122 while (i != 1 && key >
pheap->pnode[i / 2].key) {
127 pheap->pnode[i].key = key;
128 pheap->pnode[i].flags = flags;
129 pheap->pnode[i].value = value;
139 if (
pheap->index == 0)
void dglHeapInit(dglHeap_s *pheap)
int dglHeapInsertMin(dglHeap_s *pheap, long key, unsigned char flags, dglHeapData_u value)
void dglHeapFree(dglHeap_s *pheap, dglHeapCancelItem_fn pfnCancelItem)
int dglHeapExtractMax(dglHeap_s *pheap, dglHeapNode_s *pnoderet)
int dglHeapInsertMax(dglHeap_s *pheap, long key, unsigned char flags, dglHeapData_u value)
int dglHeapExtractMin(dglHeap_s *pheap, dglHeapNode_s *pnoderet)
void(* dglHeapCancelItem_fn)(dglHeap_s *pheap, dglHeapNode_s *pitem)