一、堆
1.概念:它是一种完全二叉树(即前n-1层是满的,最后一层连续缺失右边的结点)
2.堆的目的:排序
3.堆的创建:创建一棵完全二叉树
4.存储方式:链式存储,按层存储
5.算法:建立结构体,声明结点类型
typedef struct node{
int data; //结点的值
struct node *left,*right;// 左、右子女
}
6.先创建根结点,后创建其他结点;
采用队列存储数据元素,动态创建一个队列:Q
初始化:root为根结点,左右都赋空,让pa指向根结点
遍历数据集合,创建新结点 p,看pa的左右域,先挂左子女,后挂右子女;用p实现挂结点
创建完,释放队列
BTNode* C