00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef dbl___PRIORITY_H__
00024 #define dbl___PRIORITY_H__
00025 #include "dbl_dheaps_i.h"
00026
00027
00028
00029
00030
00031
00032 typedef struct dbl_ILLpriority
00033 {
00034 dbl_ILLdheap dbl_heap;
00035 union dbl_ILLpri_data
00036 {
00037 void *data;
00038 int next;
00039 }
00040 *pri_info;
00041 int space;
00042 int freelist;
00043 }
00044 dbl_ILLpriority;
00045
00046 void dbl_ILLutil_priority_free (
00047 dbl_ILLpriority * pri),
00048 dbl_ILLutil_priority_delete (
00049 dbl_ILLpriority * pri,
00050 int handle),
00051 dbl_ILLutil_priority_changekey (
00052 dbl_ILLpriority * pri,
00053 int handle,
00054 double * newkey),
00055 dbl_ILLutil_priority_findmin (
00056 dbl_ILLpriority * pri,
00057 double * keyval,
00058 void **en),
00059 dbl_ILLutil_priority_deletemin (
00060 dbl_ILLpriority * pri,
00061 double * keyval,
00062 void **en);
00063
00064 int dbl_ILLutil_priority_init (
00065 dbl_ILLpriority * pri,
00066 int k),
00067 dbl_ILLutil_priority_insert (
00068 dbl_ILLpriority * pri,
00069 void *data,
00070 double * keyval,
00071 int *handle);
00072
00073
00074
00075 #endif