diff options
| author | Kirill Petrashin <kirill8201@yandex.ru> | 2026-03-20 22:10:59 +0300 |
|---|---|---|
| committer | Kirill Petrashin <kirill8201@yandex.ru> | 2026-03-20 22:10:59 +0300 |
| commit | 03a3ed8376e2c733e2de3656ef0f53da30a7f4e2 (patch) | |
| tree | bba639da4c6433dac78f9cc6caa0b0a1c721fd2d /priority_queue.h | |
| parent | a13f3f7fdc5ccf3de836e53e5f4aaf727ddd60bf (diff) | |
Implement the priority queue (without ppq_reorganize)
Diffstat (limited to 'priority_queue.h')
| -rw-r--r-- | priority_queue.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/priority_queue.h b/priority_queue.h index 0dbd161..e24cd26 100644 --- a/priority_queue.h +++ b/priority_queue.h @@ -10,22 +10,24 @@ struct PositionPQNode_s { size_t priority; /* Lower is "better" */ struct PositionPQNode_s *prev; struct PositionPQNode_s *next; -} PositionPQNode_s; +}; typedef struct PositionPQNode_s PositionPQ; /* Create a new PositionPQ with pos and priority */ -PositionPQ ppq_new(Position pos, size_t priority); +PositionPQ *ppq_new(Position pos, size_t priority); /* Insert a pos with priority into a given PositionPQ */ -void ppq_insert(PositionPQ ppq, Position pos, size_t priority); +void ppq_insert(PositionPQ *ppq, Position pos, size_t priority); /* Remove and return the position with the lowest priority */ -Position ppq_pop(PositionPQ ppq); +Position ppq_pop(PositionPQ *ppq); /* Change the priority of a given pos, moving it to a different place in the * linked list ("POTENTIALLY NOT NEEDED" since we don't use different weights */ -void ppq_reprioritize(PositionPQ ppq, Position pos, size_t priority); +void ppq_reprioritize(PositionPQ *ppq, Position pos, size_t priority); + +void ppq_print(PositionPQ *ppq); #endif /* PRIORITY_QUEUE_H_ */ |
