现在的位置: 首页 > 综合 > 正文

CreatBT

2013年10月03日 ⁄ 综合 ⁄ 共 369字 ⁄ 字号 评论关闭
BTNode *CreatBT(char *post,char *in,int n,int m)
{
	BTNode *s;
	char *p,*q,*maxp;
	int maxpost,maxin ,k;
	if(n<=0) return NULL;
	maxpost=-1;
	for(p=in;p<in+n;p++)
		for(q=post;q<post+m;q++)
			if(*p==*q)
			{
				k=q-post;
				if(k>maxpost)
				{
					maxpost=k;
					maxp=p;
					maxin=p-in;
				}
			}
		s=(BTNode *)malloc(sizeof(BTNode));
		s->data=post[maxpost];
		s->lchild=CreatBT(post,in,maxin,m);
		s->rchild=CreatBT(post,maxp+1,n-maxin-1,m);
		return s;
}

抱歉!评论已关闭.