鱼C论坛

 找回密码
 立即注册
查看: 5462|回复: 3

第49讲线索二叉树代码实现 收尾时的问题

[复制链接]
发表于 2016-1-5 17:31:51 | 显示全部楼层 |阅读模式
20鱼币
在InOrderThreading()函数中最后小甲鱼说需要头尾相连,F的后继与头指针相连我可以理解,但是C与头指针相连是怎么实现的而且为什么需要C也相连?
还有头指针的后继为什么需要与F相连?

void InOrderThreading( BiThrTree *p, BiThrTree T )
{
        *p = (BiThrTree)malloc(sizeof(BiThrNode));
        (*p)->ltag = Link;
        (*p)->rtag = Thread;
        (*p)->rchild = *p;
        if( !T )
        {
                (*p)->lchild = *p;
        }
        else
        {
                (*p)->lchild = T;
                pre = *p;
                InThreading(T);
                pre->rchild = *p;   //收尾
                pre->rtag = Thread;
                (*p)->rchild = pre;
        }
}

捕获.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-10 16:29:02 | 显示全部楼层
希望這年也能事事順利

评分

参与人数 1鱼币 -5 收起 理由
小甲鱼 -5 请不要无意义灌水!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-12 17:21:25 | 显示全部楼层
叶子节点
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-17 12:18:08 | 显示全部楼层
因为c是遍历开始的第一个结点,所以他的左指针应该指向前趋结点,而前趋结点就是头结点,所以要指向pre,头指针与F相连的话,可以应付其他需求,例如从其他结点开始遍历整个二叉树
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 21:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表