Line | |
---|
1 | #ifndef HEAP_INFO_H |
---|
2 | #define HEAP_INFO_H |
---|
3 | /*** heap_info.h - Defines the universal heap_info_t data structure which each |
---|
4 | *** heap can provide, and algorithms can use. An algorithm which uses the |
---|
5 | *** universal definition of a heap data structure can use different heaps |
---|
6 | *** interchangeably for testing or comparison purposes. |
---|
7 | ***/ |
---|
8 | /* |
---|
9 | * Shane Saunders |
---|
10 | */ |
---|
11 | |
---|
12 | |
---|
13 | /* Structure to be provided by heaps and used by algorithms. */ |
---|
14 | typedef struct heap_info { |
---|
15 | int (*delete_min)(void *heap); |
---|
16 | void (*insert)(void *heap, int node, double key); |
---|
17 | void (*decrease_key)(void *heap, int node, double newkey); |
---|
18 | int (*n)(void *heap); |
---|
19 | long (*key_comps)(void *heap); |
---|
20 | void *(*alloc)(int n_items); |
---|
21 | void (*free)(void *heap); |
---|
22 | void (*dump)(void *heap); |
---|
23 | } heap_info_t; |
---|
24 | |
---|
25 | |
---|
26 | #endif |
---|
Note: See
TracBrowser
for help on using the repository browser.