summaryrefslogtreecommitdiff
path: root/src/01/01a/priority_queue.h
blob: c172411690163a39ce1827ce5f8cc828d6c6d35d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct node {
  int priority;
  int data;
  struct node *next;
};

typedef struct node Node;

typedef struct {
  Node *head;
  int size;
} PriorityQueue;

PriorityQueue *initialize();
int size(PriorityQueue *queue);
void add(PriorityQueue *queue, int priority, int data);
int delete_min(PriorityQueue *queue);
void destroy(PriorityQueue *queue);