⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rebuild.cpp

📁 给一棵结点编号为1, 2, …, n 的二叉树的前序遍历序列和中序遍历序列
💻 CPP
字号:
#include"rebuild.h"
Bintree* CreateTree(int *pre,int *in,int n,int* flag)
{
	Bintree *ptr;
	int *pos;
	int k;	
	if(n<=0)
		return NULL;
	ptr=(Bintree *)malloc(sizeof(Bintree));
	if (!ptr)	exit(OUT_OF_MEM);
	ptr->data=*pre;
	for(pos=in;pos<in+n;pos++)
	{
		if(*pos==*pre)
			break;
	}
	if(pos==in+n)
	{
		*flag=0;
		return(NULL);
	}
	k=pos-in;
	ptr->lchild=CreateTree(pre+1,in,k,flag);
	if(*flag==0)
		return(NULL);
	ptr->rchild=CreateTree(pre+k+1,pos+1,n-1-k,flag);
	if(*flag==0)
		return(NULL);
	return(ptr);
}

void PostorderTraversal(Bintree* b)
{
	if (b!=NULL)	
	{
		PostorderTraversal(b->lchild);	//左子树
		PostorderTraversal(b->rchild); //右子树			
		printf("%d ",b->data);//根结点
	}
}
	

	

	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -