From 833d20a69fe17ab846c153e35230c66a41d8fca9 Mon Sep 17 00:00:00 2001 From: Pixel <> Date: Wed, 28 Feb 2001 11:40:25 +0000 Subject: Premier jet --- include/BHeap.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 include/BHeap.h (limited to 'include/BHeap.h') diff --git a/include/BHeap.h b/include/BHeap.h new file mode 100644 index 0000000..ab63852 --- /dev/null +++ b/include/BHeap.h @@ -0,0 +1,38 @@ +#ifndef __BHEAP_H__ +#define __BHEAP_H__ +#include +#include + +#ifdef __cplusplus +class BHeap:public PriorityList { + private: + int Degree; + BHeap *Father, *Child, *Brother; + CList *FP; + + void Link(BHeap * z); + void Merge(BHeap * H); + BHeap(Key_t IKey, Datas_t const &IDatas); // Insert + Cell Insert(BHeap * x); + + public: + BHeap(void); // Constructor + ~BHeap(void); // Destructor + virtual int rn(void); + virtual Key_t ReadKey(Cell C); + virtual Datas_t ReadDatas(Cell C); + + virtual void Dump(ostream & os); + virtual bool IsEmpty(void); + + virtual Cell Min(void); + virtual Cell Insert(Key_t IKey, Datas_t const &IDatas); + virtual Key_t Extract_Min(Datas_t & Datas); + virtual PriorityList *Union(PriorityList * P); + virtual bool Lower_Key(Cell x, Key_t NKey); + virtual Key_t Delete(Datas_t & Datas, Cell x); +}; +#else +#error This librairy will only compile with a C++ compiler. +#endif +#endif -- cgit v1.2.3