感觉你的程序只是在线索化一棵树,而我的意思是在一棵已经线索化了的树中找指定结点的前驱!
不过在网上已经找到了,但总感觉没那么简单!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编辑过]