Priority queue: Difference between revisions

Content deleted Content added
Line 279: Line 279:
i = 1;
i = 1;
while (1) {
while (i!=h->len+1) {
k = i;
k = h->len+1;
j = 2 * i;
j = 2 * i;
if (j <= h->len && h->nodes[j].priority < h->nodes[k].priority) {
if (j <= h->len && h->nodes[j].priority < h->nodes[k].priority) {
Line 288: Line 288:
k = j + 1;
k = j + 1;
}
}
if (k == i) {
break;
}
node_t swap_tmp = h->nodes[i];
h->nodes[i] = h->nodes[k];
h->nodes[i] = h->nodes[k];
h->nodes[k] = swap_tmp ;
i = k;
i = k;
}
}