void create(pre,in,l,h,r)
int pre[n],in[n],l,h;
tree r;
{ int i=l;
while (in[i]!=pre[l]) i++;
p=(struct treenode *)malloc(sizeof(treenode))
p->data=pre[l];
if (i=l) p->lchild=null;
else create(pre,in,l,i-1,p->lchild)
if (i=h) p->rchild=null;
else create(pre,in,i+1,h,p->rchild)
}