现在的位置: 首页 > 综合 > 正文

数据结构树习题(五)

2012年01月07日 ⁄ 综合 ⁄ 共 410字 ⁄ 字号 评论关闭

 

写出中序线索二叉树的线索化过程

设计思想:递归地将左子树中序线索化,然后判断若没有左孩子,则左指针指向前驱结点,若前驱不空则给前驱加上后继线索,然后递归的将右子树中序线索化。

代码:

 

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);
	}
}

 

抱歉!评论已关闭.