blob: 98250c90df38ac234f10474884cef0de44330bbf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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(priority_queue_t *pq);
#endif
|