C语言实现二叉树的中序线索化及遍历中序线索二叉树
C语言实现二叉树的中序线索化及遍历中序线索二叉树
C语言实现二叉树的线索化以及如何遍历线索二叉树!
文章目录线索二叉树的结构及数据类型定义
根据输入结点初始化二叉树
中序遍历二叉树并线索化
遍历中序线索二叉树
项目完整代码
运行效果图
线索二叉树的结构及数据类型定义
//定义数据类型
typedef char ElemType;
//枚举,Link为0表示不是线索,Thread为1表示为线索
typedef enum {
Link,
Thread
} PointerTag;
//结点结构构造
typedef struct BiThrNode {
ElemType data;//数据域
struct BiThrNode *lchild, *rchild;//左右孩子指针域
PointerTag Ltag, Rtag;//标志域,枚举类型
} BiThrNode, *BiThrTree;
BiThrTree pre = NULL;
根据输入结点初始化二叉树
//根据输入结点初始化并建立二叉树
bool CreateBiThrTree(BiThrTree &T) {
//输入二叉树中的结点的值(一个字符),空格字符表示空树并构造二叉链表表示的树T
ElemType ch;
scanf("%c", &ch);
getchar();
if (ch =