顾夕 发表于 2020-4-28 20:29:06

前序遍历

//前序遍历
voidPreorderTraverse(BTNode*T){
       
        if (T != NULL) {
                printf("%c ", T->data);       /*访问根结点*/
                PreorderTraverse(T->Lchild);
                PreorderTraverse(T->Rchild);
        }
}
这个代码,最后一个左结点不是无法访问到吗,为什么还能输出最后一个左结点呢,最后一个左节点因为没有左孩子,故不会执行if语句啊,没看懂,求大佬解惑!!!感谢

永恒的蓝色梦想 发表于 2020-4-28 20:52:51

没有左孩子就是NULL了嘛?

顾夕 发表于 2020-4-28 20:54:27

永恒的蓝色梦想 发表于 2020-4-28 20:52
没有左孩子就是NULL了嘛?

我知道了,我自己理解错了

永恒的蓝色梦想 发表于 2020-4-28 20:55:13

顾夕 发表于 2020-4-28 20:54
我知道了,我自己理解错了

那就选个最佳答案吧~
页: [1]
查看完整版本: 前序遍历