[求助]中序线索中找前驱^
在一棵已建立中序线索二叉树中,查找指定结点*P的前驱,找到后返回Q.因为中序序列中第一个被访问的结点没有前驱,我不知道怎么表示它的前驱为空,还有就是到底有多少种情况要考
虑,即有多少种类型的结点需要考虑进去!

请大家帮我提提建议,讲讲思路!
谢谢!
不过在网上已经找到了,但总感觉没那么简单!
void InPre(BiTNode * p, BiTNode * pre)
/* 在中序线索二叉树中查找p的中序前驱, 并用pre指针返回结果 */
{ if(p->Ltag==1) pre= p->LChild; /*直接利用线索*/
else
{ /* 在p的左子树中查找“最右下端”结点 */
for(q= p->LChild;q->Rtag==0;q=q->RChild);
pre=q;
}
}
[此贴子已经被作者于2007-6-26 13:46:18编辑过]