
堆是最有个性的树!它是用数组表示的树
如何在数组中快速创建堆
堆的数据结构的定义:
#define DEFAULT_CAPCITY 128
typedef struct _Heap{
int *arr; //存储堆元素的数组
int size; //当前已存储的元素个数
int capacity; //当前存储的容量
}Heap;
堆的结构可以实现优先级队列、堆排序、快速查找无序集合中的前N大(小)元素
直至堆中仅剩一个元素,此时之前堆所在的数组中是一个升序的排列的序列。