另一种使用栈实现二叉树层序遍历的方法
另一种使用栈实现二叉树层序遍历的方法
使用队列是比较方便的实现二叉树层序遍历的常用方法,通过栈来实现也是可以的,以下给出一个使用栈实现二叉树层序遍历的方法。
使用三个栈实现二叉树的层次遍历
int LayerOrderByStackTraverse(BiTree T,int (*Visit)(TreeElemType d))
{
//s1存储每层的所有树节点,次序是逆序(左边的节点在栈下方)
//s2是存储当前层节点的下层所有节点,次序也是逆的
//s3是为了正确顺序输出节点,从s1反序而来的,左边的节点在栈上方)
//temp是s2和s1的中转变量,...