Priority queue: Difference between revisions

m
(Added XLISP)
Line 275:
h->nodes[1] = h->nodes[h->len];
int priority = h->nodes[1].priority;
h->len--;
Line 283 ⟶ 282:
k = i;
j = 2 * i;
if (j <= h->len && h->nodes[j].priority < h->nodes[k].priority) {
k = j;
}
Line 292 ⟶ 291:
break;
}
node_t swap_tmp = h->nodes[i];
h->nodes[i] = h->nodes[k];
int priority = h->nodes[1k].priority = swap_tmp ;
i = k;
}
h->nodes[i] = h->nodes[h->len + 1];
return data;
}