1.头文件及类型定义
#include<stdio.h>
#include<stdlib.h>
#define ElemType char
2.线索二叉树结点类型定义
typedef struct ThreadNode {
ElemType data;
struct ThreadNode* lchild, * rchild;
int ltag, rtag;
}ThreadNode, * ThreadTree;
3.函数声明
void CreateThTree(ThreadTree& T);
void InitThread(ThreadTree& T);
void visit1(ThreadNode* q);
void PreThread(ThreadTree T);
void CreatePreThread(ThreadTree T);
ThreadNode* NextNode(ThreadNode* p);
void visit2(ThreadNode* p);
void PreOrder(ThreadNode* T);
4.基本操作
4.1 先序建立线索二叉树
void CreateThTree(ThreadTree& T) {
char c;
scanf("%c", &c);
if (c