以双向线索链表为存储结构的线索二叉树遍历

二话不说上代码

前提条件:头节点的lchild域指向二叉树的根结点,rchild域指向中序遍历时访问的最后一个结点,同时令中序遍历的第一个结点的lchild域和最后一个结点的rchild域指向头结点。Link=0,Thread=1分别代表有孩子和有后继节点,即有指针和有线索。

函数过程:先找到最左边的结点,然后执行visit,然后,访问后继节点,如果有孩子,则第3个while停止,然后p=p->rchild,再然后重复找到最左边结点。。。直到p是最后一个节点了,因为他的rchild=T所以第三个while停止,然后导致第一个while,最终return ok;

猜你喜欢

转载自blog.csdn.net/qq_41076797/article/details/82972176