blob: 895bb42c1d2dba0db3f6af41f45c5e0a81830342 (
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();
#endif
|