一、大顶堆与小顶堆的数据结构
即:大顶堆的每个分支上元素越来越小
小顶堆的每个分支上元素越来越大
二、大顶堆可以用数组实现,也可以用链表实现,本篇用数组来实现大顶堆
一个规律, 从上图中可以看出: patent_index = (child_index -1 ) /2; //取整
三、大顶堆的两个操作:插入新节点和删除根节点
四、代码实现和运行结果
#include <iostream>
using namespace std;
template <class T>
class MaxHeap
{
public:
MaxHeap(int mx = 10);
~MaxHeap();
bool isEmpty();
void push(const T &val);
T& top();
void pop();
private:
T *heapArry; //大顶堆的内存指针
in