c语言下的线索二叉树的前序遍历建立,中序遍历线索化,中序遍历输出结果
结点和树数据准备
typedef char ElemType;
//线索存储标志位
//Link表示指向左右孩子的指针
//Thread表示指向前驱后继的线索
typedef enum {
Link, Thread}PointerTag;
typedef struct BiThrNode
{
char data;
struct BiThrNode* lchild, * rchild;
PointerTag ltag;
PointerTag rtag;
}BiThrNode, *BiThrTree;
BiThrTree pre;
前序遍历输入数据
//创建一颗二叉树,约定用户遵照前序遍历的方式输入数据
void CreateBiTree(BiThrTree* T)
{
char c;
scanf("%c", &c);
if (' ' == c)
{
*T = NULL;
}
else
{
*T = (BiThrNode*)malloc(sizeof