-
烟台大学计算机学院
-
-
作者:王雪行
-
-
问题描述:二叉树构造算法的验证
-
-
输入描述:无
-
-
输出描述:知先序中序构造二叉树结果
-
-
用到btree2.h算法库
-
-
*/
-
-
-
-
-
#include <stdio.h>
-
#include <malloc.h>
-
#include "../btree2.h"
-
-
BTNode *CreateBT1(char *pre,char *in,int n)
-
{
-
BTNode *s;
-
char *p;
-
int k;
-
if (n<=0) return NULL;
-
s=(BTNode *)malloc(sizeof(BTNode)); //创建二叉树结点*s
-
s->data=*pre;
-
for (p=in; p<in+n; p++) //在中序序列中找等于*ppos的位置k
-
if (*p==*pre) //pre指向根结点
-
break; //在in中找到后退出循环
-
k=p-in; //确定根结点在in中的位置
-
s->lchild=CreateBT1(pre+1,in,k); //递归构造左子树
-
s->rchild=CreateBT1(pre+k+1,p+1,n-k-1); //递归构造右子树
-
return s;
-
}
-
-
-
int main()
-
{
-
ElemType pre[]="ABDGCEF",in[]="DGBAECF";
-
BTNode *p;
-
-
p=CreateBT1(pre,in,7);
-
-
DispBTNode(p);
-
-
-
-
-
-
}
运行结果:

相关文章:
-
2021-11-21
-
2021-05-06
-
2021-12-16
-
2021-10-09
-
2022-12-23
-
2022-01-18
-
2021-05-31
-
2021-09-01
猜你喜欢
-
2021-10-11
-
2021-12-15
-
2021-04-11
-
2021-11-13
-
2021-06-02
相关资源
-
下载
2023-01-01
-
下载
2023-04-11
-
下载
2023-01-10