标签:type span 二叉树 using mil while 线段树 main value
记一个模板
#include<iostream>
using namespace std;
typedef struct Tree{
Tree *left;
Tree *right;
int value;
}Tree;
Tree *root;
Tree* create(int *preorder,int *inorder,int n)
{
Tree *temp;
for(int i=0;i<n;i++)
{
if(preorder[0]==inorder[i])
{
temp=(Tree*)malloc(sizeof(Tree));
temp->value=inorder[i];
temp->left=create(preorder+1,inorder,i);
temp->right=create(preorder+i+1,inorder+i+1,n-i-1);
return temp;
}
}
return NULL;
}
void postOrder(Tree *postTree)
{
if(postTree!=NULL)
{
postOrder(postTree->left);
postOrder(postTree->right);
if(postTree==root)
printf("%d\n",postTree->value);
else
printf("%d ",postTree->value);
}
}
int main()
{
int n;
int preorder[2010],inorder[2010];
while(scanf("%d",&n)!=EOF)
{
root=NULL;
for(int i=0;i<n;i++)
scanf("%d",&preorder[i]);
for(int i=0;i<n;i++)
scanf("%d",&inorder[i]);
root=create(preorder,inorder,n);
postOrder(root);
}
return 0;
标签:type span 二叉树 using mil while 线段树 main value
原文地址:https://www.cnblogs.com/chrysanthemum/p/12004641.html