中序遍历中序线索化问题-100分
看<<数据结构 (C语言版)严蔚敏>>第135页,二叉树的中序线索化算法,有些不懂的地方,请各位指点.
typedef enum{Thread,Link}PointerTag; //Link==0,指针,Thread==1,线索
typedef struct BiThrNode{
TElemtype data;
struct BiThrNode *lchild,*rchild; //左右孩子指针
PointerTag LTag,RTag; //左右标志
}BiThrNode *BiThrTree;
----------------------------------
下面是线索化算法
void InThreading(BiThrTree p){
if(p){
InThreading(p->lchild); //左子树线索化
if(!p->lchild){p->ltag=Thread;p->lchild=pre;} //前驱线索
if(!pre-rchild){pre-rtag=Thread;pre->rchild=p;} //后驱线索
pre=p; //保持pre指向p的前驱
InThreading(p->rchild); //右子树线索化
}
}
-------
我想问的是对于一个叶子结点它的线索化过程.对于 左叶子 和 右叶子他们的线索化过程有区别吗???