資源簡介
由中序和先序序列恢復二叉樹
由中序和后序序列恢復二叉樹
代碼片段和文件信息
#include
#include
#include
#define?maxsize?20
char?prelist[maxsize];
char?inlist[maxsize];
char?postlist[maxsize];
typedef?struct?node
{
char?data;
struct?node?*lchild*rchild;
}?bitree;
/*由中序和先序序列恢復二叉樹*/
bitree?*preintotree(char?*prechar?*inint?iint?jint?kint?l)
{
int?m;
bitree?*p;
p=(bitree*)malloc(sizeof(bitree));
p->data=*(pre+i);
m=k;
while(*(in+m)!=*(pre+i))
{
???m++;
}
if?(m==k)
{
???p->lchild=NULL;
}
else
{
???p->lchild=preintotree(preini+1i+m-kkm-1);
}
if?(m==l)
{
???p->rchild=NULL;
}
else
{
???p->rchild=preintotree(preini+m-k+1jm+1l);
}
return(p);
}
/*由中序和后序序列恢復二叉樹*/
bitree?*inposttotree(char?*inchar?*postint?iint?jint?kint?l)
{
int?m;
bitree?*p;
p=(bitree*)malloc(sizeof(bitree));
p->data=*(post+l);
m=i;
while(*(in+m)!=*(post+l))
{
???m++;
}
if?(m==i)
{
???p->lchild=NULL;
}
else
{
???p->lchild=inposttotree(inpostim-1kk+m-i-1);
}
if?(m==j)
{
???p->rchild=NULL;
}
else
{
???p->rchild=inposttotree(inpostm+1jk+m-il-1);
}
return(p);
- 上一篇:J-li
nk J-Flash 注冊機 - 下一篇:excel庫存管理系統,超級厲害
評論
共有 條評論