首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

请问非完全2叉树重构有关问题

2012-11-06 
请教非完全2叉树重构问题先是用先序遍历,若节点非空,则输出#,得到一个序列,例如:aaa##aa#aaa#a##,现在根据

请教非完全2叉树重构问题
先是用先序遍历,若节点非空,则输出#,得到一个序列,例如:aaa##aa#aaa#a##,现在根据遍历得到的序列重构二叉树,代码

int CreateTree(Node *node,char *ch)
{

char c;
num++;
c = *ch;
//printf("num: %d\n",num);
if(c == '\0')
return;
else if(c == '#')
{
node = NULL;
}
else
{
int i;
node = MakeNode();
node->Data = c;
for (i=0;i<N;i++)
{
CreateTree(node->ChildPoint[i],ch+1);
}
}

return OK;
}
int main(int argc,char *argv[])
{
num = 0;
Node *newTree;
char *ch = "aaa##aa#aaa#a##";
CreateTree(newTree,ch); 

PreOrderTraverse(newTree);

close(readfd);

return 0;
}
请问这样递归建树是正确的吗,怎么出现断错误、~~

[解决办法]
CreateTree的第一个参数要用指针的指针。

热点排行