二叉树建立一个先序序列(递归实现)

二叉树建立一个先序序列(递归实现)

  1. 0代表空树
  2. 注意当输入叶子节点左右子树都为空树 ,这时需要在后面输入0 0(两个0)
  3. 注意理解递归方法,找到入口和出口
#include<stdio.h>
#include<stdlib.h>
typedef struct node{
	int data;
	struct node *lchild,*rchild;
	
} node,*tree;
tree creat(){
	tree t;
	int ch;
	scanf("%d",&ch);
	if(ch==0)
	{
	t=NULL;}
	else{
		t=(tree)malloc(sizeof(node));
		t->data=ch;
		t->lchild=creat();
		t->rchild=creat();
	}
	return t;
}
void print(tree t)
{

	if(t) 
	
	{
		printf(" %d",t->data);
		print(t->lchild);
		print(t->rchild);
	}
}
int main()
{   tree t;
	printf("请输入数据创建二叉树");
	t=creat();
		printf("先序序列为:");
	print(t);
	return 0;
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43904021/article/details/88040409