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

请教以上这段代码是不是前序线索化二叉树?

2013-02-19 
请问以下这段代码是不是前序线索化二叉树??void Threading(BithrNode* T) //二叉树根结点{BithrNode* stac

请问以下这段代码是不是前序线索化二叉树??
void Threading(BithrNode* T) //二叉树根结点
{
BithrNode* stack[MAXNODE]; //栈
BithrNode* last = NULL,*p;//last为后一个结点
  //p为当前结点
int top = 0;  //栈顶
if(T!=NULL)
{
stack[++p] = T;       //入栈
while(top>0)          //栈不为空
{
if (p->Lchild != NULL) //p->Ltag为0:表示有左孩子。 为1:表示索引
p->Ltag = 0;
else
{
p->Ltag=1;
p->Lchild != last;
}
if (last != NULL)
if(last->Rchild != NULL)
last->Rtag = 0;
else
{
last->Rtag = 1;
last->Rchild!=p;
}
last = p;
if (p->Rchild != NULL)
stack[++top] = p->Rchild;
if (p->Lchild != NULL)
stack[++top] = p->Lchild;
}
Last->Rtag = 1; //最后一个结点是叶子结点
}
}
[解决办法]
不是,是分层遍历
[解决办法]
这个应该是一边遍历一边把一个二叉树线索化吧

热点排行