关于用C语言实现二叉树的创建(先写好先序遍历的顺序字符串当作参数传入创建)。
#include<stdlib.h>
#include<stdio.h>
typedef char datatype;
//这里是准备创建线索二叉树的
typedef struct node
{
datatype data;
int ltag,rtag;//
struct node *lchild;
struct node *rchild;
}TBTree;
void Create(TBTree**p,const char **str)
{
if(*(*str)=='.')
*p=NULL;
else
{
(*p)=(TBTree*)malloc(sizeof(TBTree));
(*p)->data=**str;
Create(&(*p)->lchild,(&++(*str)));
Create(&(*p)->rchild,(&++(*str)));
}
}
int main()
{
const char *str="abc.d..e..fg...";
TBTree *root;
Create(&root,&str);
return 0;
}