#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define ERROR 0
typedef enum PointerTag {Link,Thread};
typedef int Status;
typedef struct BiTNode
{
char data;
struct BiTNode *lchild,*rchild;
enum PointerTag LTag,RTag;
}BiTNode,*BiTree;
int CreateBiTree(BiTree *T);
Status Visit(char e);
Status PreOrderThreadTraverse(BiTree T);
Status PreOrderThreadBackTraverse(BiTree T);
Status PreOrderThreading(BiTree Thrt,BiTree T);
void PreThreading(BiTree p,BiTree *pre);
Status PreOrderTraverse(BiTree T);
int main()
{
BiTree *T,Thrt;
T=(BiTree*)malloc(sizeof(BiTree));
Thrt=(BiTree)malloc(sizeof(BiTNode));
CreateBiTree(T);
printf("\n前序遍历结果:");
PreOrderTraverse(*T);
PreOrderThreading(Thrt,*T);
printf("\n线索化后前序正向遍历结果:");
PreOrderThreadTraverse(Thrt);
return 0;
}
int CreateBiTree(BiTree *T)
{
fflush(stdin);
printf("please input the node data:");
char ch;
scanf("%
前序遍历线索化二叉树
最新推荐文章于 2021-01-03 16:30:45 发布