当前位置: 代码迷 >> 数据结构与算法 >> 请教以上这段代码是不是前序线索化二叉树?
  详细解决方案

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

热度:7975   发布时间:2013-02-26 00:00:00.0
请问以下这段代码是不是前序线索化二叉树??
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; //最后一个结点是叶子结点
}
}

------解决方案--------------------------------------------------------
不是,是分层遍历
------解决方案--------------------------------------------------------
这个应该是一边遍历一边把一个二叉树线索化吧
  相关解决方案