写出中序线索二叉树的线索化过程
设计思想:递归地将左子树中序线索化,然后判断若没有左孩子,则左指针指向前驱结点,若前驱不空则给前驱加上后继线索,然后递归的将右子树中序线索化。
代码:
void CreatInThread(ThreadTree T) { ThreadTree pre=NULL; if(T!=NULL) { InTread(T,pre); pre->rchild=NULL; pre->rtag=1; } } void InTread(ThreadTree p,ThreadTree pre) { if(p!=NULL) { InThread(p->lchild,pre); if(p->lchild!=NULL) { p->lchild=pre; p->ltag=1; } if(pre!=NULL&&pre->rchild==NULL) { pre->rchild=p; pre->tag=1; } pre=p; InTread(p->rchild,pre); } }