heap.h

来自「计算机算法设计与分析(王晓东)教材上相关源程序代码。 包括分治法(4)」· C头文件 代码 · 共 26 行

H
26
字号
#ifndef _MinHeap_H
#define _MinHeap_h


template<class T>
class MinHeap{
 public:
  MinHeap(T a[],int n);
  MinHeap(int ms);
  ~MinHeap();
  bool Insert(const T &x);//插入一个元素,如果空返回false,否则返回true
  bool DeleteMin(T &x);//删除最小的元素,如果空返回false,否则返回true
  void MakeEmpty();//使堆为空
  bool IsEmpty();
  bool IsFull();

protected:
  void FilterDown(const int start,const int endOfHeap);//自顶向下构造堆
  void FilterUp(const int start);//自底向上构造堆
 private:
  T *heap;
  int maxSize;
  const int defaultSize;
  int currentSize;
};
#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?