以扩展的先序遍历建立二叉树,根结点的地址通过函数值返回。
例如
输入AB#DF##G##C##,建立二叉树如下图,
二叉树.png
输出该二叉树的先序遍历序列ABDFGC。
#include <stdio.h>
#include <stdlib.h>
typedef char ElementType;
typedef struct BiTNode {
ElementType data;
struct BiTNode* lchild;
struct BiTNode* rchild;
}BiTNode, * BiTree;
BiTree CreatBinTree();
void preorder(BiTree T);
int main()
{
BiTree T = CreatBinTree();
preorder(T);
return 0;
}
void preorder(BiTree T)
{
if (T)
{
printf("%c", T->data);
preorder(T->lchild);
preorder(T->rchild);
}
}
BiTree CreatBinTree()
{
char ch; BiTree T;
scanf("%c