定义二叉树
typedef struct BiTNode {
char data;
struct BiTNode* lchild; //左孩子
struct BiTNode* rchild; //右孩子
}BiTNode, * BiTree;
二叉树的初始化
void Init_Tree(BiTree& T) //1、初始化
{
T = (BiTNode*)malloc(sizeof(BiTNode));
T->data = '#';
T->lchild = NULL;
T->rchild = NULL;
}
二叉树的建立
void Create_Tree(BiTree& T) //3、创建(基于先序顺序)
{
char c;
cin >> c;
if (c == '#') { // # 代表空指针
T = NULL;
}
else { //创建根节点
T = (BiTNode*)malloc(sizeof(BiTNode));
T->data = c;
Create_Tree(T->lchild); //先序创建左分支
Create_Tree(T->rchild); //先序创建右分支
}
}