中序遍历
思路
为节省保存父节点的开支(压栈),令叶节点原本指向NULL的指针指向父节点。
步骤
- 令当前指针(curr)指向根节点
- 判断当前结点(当前指针所指结点)是否为空,非空则下一步,空则停止
- 用temp指针指向当前结点的左子结点,并判断其是否为空,空则进入下一步,非空则进入第5步
- 对当前结点进行操作(比如打印)并使当前指针指向当前结点的右子节点,返回第2步
- 判断temp结点(temp指针所指结点)的右子结点是否为空,空则进入第6步,非空则判断右子节点是否为当前结点,不是则令temp指针指向temp结点(temp指针所指结点)的右子结点,并重复第5步,是则将temp结点的右指针置为空,然后对当前结点进行操作,并使当前指针指向当前结点的右子节点,返回第2步
- 令temp结点的右指针指向当前结点,并使当前指针指向当前结点的左子结点,返回第2步
未完待续。。。