aboutsummaryrefslogtreecommitdiff
path: root/src/priority_queue.h
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2024-03-24 09:36:51 +0800
committerMistivia <i@mistivia.com>2024-03-24 09:36:51 +0800
commit1208bdd0fccc5f1e380053d8e0a7f4df6fe8f805 (patch)
treea4fddb7211a2782b3934cf02d80ef6d1734ec1c2 /src/priority_queue.h
git init
Diffstat (limited to 'src/priority_queue.h')
-rw-r--r--src/priority_queue.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/priority_queue.h b/src/priority_queue.h
new file mode 100644
index 0000000..895bb42
--- /dev/null
+++ b/src/priority_queue.h
@@ -0,0 +1,19 @@
+#ifndef PQUEUE_H_
+#define PQUEUE_H_
+
+struct priority_queue {
+ void *buf;
+ int elemsz;
+ int cap;
+ int size;
+ int (*cmp)(void *, void *);
+};
+typedef struct priority_queue priority_queue_t;
+
+void init_priority_queue(priority_queue_t *pq, int cap, int elemsz,
+ int (*cmp)(void *, void *));
+void priority_queue_push(priority_queue_t *pq, void *elem);
+void priority_queue_pop(priority_queue_t *pq);
+void *priority_queue_top();
+
+#endif