链式二叉树的结构体定义如下:
#define DataSize 1
typedef int ElemType;
//主定义:链式二叉树
typedef struct LinkedBinaryTree
{
ElemType data[DataSize];
struct LinkedBinaryTree* Lchild;
struct LinkedBinaryTree* Rchild;
struct LinkedBinaryTree* Parent;
}LinkedBinaryTree;
//简化全称 LinkedBinaryTree->LBT
typedef LinkedBinaryTree LBT;
//对于操作数据结构时,常常要用到的count、len、for,栈顶,数组下标等常用变量的数据类型【还与一个表的长度有关】
typedef unsigned int dat_t
创建满二叉树的C语言代码:
具体解释详见注释。
//功能:初始化一个度为deg的链式满二叉树
//输入:deg,代表树的度
//返回值:树的根结点
//备注:树结点内的数据data[0]内默认存入标准满二叉树的序号
LBT* LBT_CreateFull(dat_t deg)
{
//1.创建lena=2^(deg+1)-1个结点,lena代表所有结点个数
dat_t lena