先序遍历建立并输出二叉树(递归算法)

匿名 (未验证) 提交于 2019-12-03 00:39:02
原文地址为:先序遍历建立并输出二叉树(递归算法)

//代码如下:
#include<stdio.h>
#include<stdlib.h>
typedef struct Node //二叉树结构定义
{
char data;
struct Node *lchild;
struct Node *rchild;
}Bitree;




void CreateBiTree(Bitree *&t) //先序遍历创建二叉树
{
char s;
scanf("%c",&s);
if(s=='#')
t=NULL;
else
{
t=(Bitree *)malloc(sizeof(Node));
t->data=s;
CreateBiTree(t->lchild);
CreateBiTree(t->rchild);
}
}




void Output(Bitree *t) //先序遍历输出二叉树
{
if(t!=NULL)
{
printf("%c ",t->data);
Output(t->lchild);
Output(t->rchild);
}
}




int main()
{
Bitree *root;
printf("请以先序遍历依次为二叉树赋值:");
CreateBiTree(root);
printf("以先序遍历输出二叉树:");
Output(root);
printf("\n");
return 0;
}



转载请注明本文地址:先序遍历建立并输出二叉树(递归算法)
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!