aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKirill Petrashin <kirill8201@yandex.ru>2026-03-21 12:26:54 +0300
committerKirill Petrashin <kirill8201@yandex.ru>2026-03-21 12:26:54 +0300
commit5f73b16c1e80ef40e3cb95aef36d8fe964970565 (patch)
tree63960286a662ed36050978968702cdce97c812eb
parenta08e4c138734fd59246e70260c51b9d7b68be007 (diff)
Implement ppq_pop
-rw-r--r--priority_queue.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/priority_queue.c b/priority_queue.c
index 1cf0ac0..79377c3 100644
--- a/priority_queue.c
+++ b/priority_queue.c
@@ -55,8 +55,12 @@ void ppq_insert(PositionPQ *ppq, Position pos, size_t priority) {
}
Position ppq_pop(PositionPQ *ppq) {
- (void)ppq;
- todo();
+ Position pos = ppq->pos;
+ ppq->next->prev = NULL;
+ PositionPQ *next = ppq->next;
+ free(ppq);
+ ppq = next;
+ return pos;
}
void ppq_reprioritize(PositionPQ *ppq, Position pos, size_t priority) {