.h
#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <malloc.h>
//先序遍历创建二叉树
//ABC##DE##F##G#H##
#define STOP -1
#define OK 0
#define ElemType char
typedef int Status;
//树节点
typedef struct BinTreeNode
{
ElemType data;
struct BinTreeNode* leftChild;
struct BinTreeNode* rightChild;
}BinTreeNode;
//头结点
typedef struct BinTree
{
BinTreeNode* root;
ElemType refvalue; //停止标记
}BinTree;
void InitBinTree(BinTree* bt, ElemType ref);
//申请一个树节点
BinTreeNode* BuyNode();
//创建树
//二级指针
Status CreatBinTree(BinTree* bt);
Status CreatBinTree(BinTree* bt, BinTreeNode** t);
//一级指针引用
Status CreatBinTree02(BinTree* bt);
Status CreatBinTree02(BinTree* bt, BinTreeNode*& t);
//返回值为结点类型
BinTreeNode* CreatBinTree03(BinTree* bt);
//以字符串创建树
Status CreatBinTree04(BinTree* bt, char* str);
Status CreatBinTree04(BinTree* bt, BinTreeNode*& t,char*& str);