Mercurial > cgi-bin > hgwebdir.cgi > VMS > C_Libraries > PriorityQueue
view PriorityQueue.h @ 7:9911e62c4fee
made pure C brch
| author | kshalle |
|---|---|
| date | Mon, 13 Feb 2012 13:25:59 -0800 |
| parents | 9ecc993a29ea |
| children |
line source
1 /*
2 * Copyright 2009 OpenSourceStewardshipFoundation.org
3 * Licensed under GNU General Public License version 2
4 *
5 * Author: hausers@cs.tu-berlin.de
6 */
8 #ifndef _PRIORITY_QUEUE_H
9 #define _PRIORITY_QUEUE_H
11 #include <stdbool.h>
13 #include <limits.h>
14 #include <stdio.h>
15 #include <string.h>
17 typedef struct _PrioQueueStruc PrioQueueStruc;
18 typedef struct _heapNode heapNode;
20 struct _heapNode {
21 int key;
22 void *val;
23 };
25 struct _PrioQueueStruc {
26 int size;
27 int maxSize;
29 heapNode *data;
30 };
32 PrioQueueStruc* makePrioQ();
33 void* getFirstPrioQ (PrioQueueStruc *Q);
34 void* popPrioQ (PrioQueueStruc *Q);
35 bool insertPrioQ (void *val, int key, PrioQueueStruc *Q);
36 void freePrioQ (PrioQueueStruc *Q);
38 #ifdef DEBUG
39 void printPrioQ (PrioQueueStruc *Q);
40 void swap (PrioQueueStruc *Q, int a, int b);
41 #endif
44 #endif
