-->
当前位置:首页 > 题库 > 正文内容

程序填空题:扩展的先序遍历序列创建二叉树

Luz4年前 (2021-05-10)题库2590
以扩展的先序遍历建立二叉树,根结点的地址通过函数值返回。

例如


输入AB#DF##G##C##,建立二叉树如下图,

![二叉树.png](~/ad983503-569d-4cc2-9386-465d57375368.png)


输出该二叉树的先序遍历序列ABDFGC。

```
#include
#include

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",&ch);
if(ch=='#') return @@[NULL](2);
T=@@[(BiTree)malloc(sizeof(BiTNode))](2);
T->data=ch;
T->lchild=@@[CreatBinTree()](2);
T->rchild=@@[CreatBinTree()](2);
return T;
}
```






答案:
第1空:NULL

第2空:(BiTree)malloc(sizeof(BiTNode))

第3空:CreatBinTree()

第4空:CreatBinTree()

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。