maxheap.h

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

H
27
字号
#ifndef _MaxHeap_H
#define _MaxHeap_H

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

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 + -
显示快捷键?