2 qq 33286911 qq_33286911 于 2016.02.04 16:59 提问

数据结构 二叉树中序非递归遍历

对于二叉树的链接实现,完成非递归的中序遍历过程。

答案如下:

图片说明

(1)求大神给我讲讲这个函数的思路是什么?

(2)最后为什么要top--呢?

7个回答

caozhy
caozhy   Ds   Rxr 2016.02.04 19:34
已采纳

s[++top]=p,把当前节点放入堆栈
bt=p->lchild貌似写错了,是p=p->lchild,继续找左子节点
如果左子没有左子了,那么就输出当前和右子,然后退栈

top--和top++对应,是为了出栈

IT_DS
IT_DS   2016.02.05 19:46

s[++top]=p,把当前节点放入堆栈
bt=p->lchild貌似写错了,是p=p->lchild,继续找左子节点
如果左子没有左子了,那么就输出当前和右子,然后退栈

top--和top++对应,是为了出栈

IT_DS
IT_DS   2016.02.05 19:46

s[++top]=p,把当前节点放入堆栈
bt=p->lchild貌似写错了,是p=p->lchild,继续找左子节点
如果左子没有左子了,那么就输出当前和右子,然后退栈

top--和top++对应,是为了出栈

IT_DS
IT_DS   2016.02.05 19:46

s[++top]=p,把当前节点放入堆栈
bt=p->lchild貌似写错了,是p=p->lchild,继续找左子节点
如果左子没有左子了,那么就输出当前和右子,然后退栈

top--和top++对应,是为了出栈

IT_DS
IT_DS   2016.02.05 19:46

s[++top]=p,把当前节点放入堆栈
bt=p->lchild貌似写错了,是p=p->lchild,继续找左子节点
如果左子没有左子了,那么就输出当前和右子,然后退栈

top--和top++对应,是为了出栈

IT_DS
IT_DS   2016.02.05 19:46

s[++top]=p,把当前节点放入堆栈
bt=p->lchild貌似写错了,是p=p->lchild,继续找左子节点
如果左子没有左子了,那么就输出当前和右子,然后退栈

top--和top++对应,是为了出栈

IT_DS
IT_DS   2016.02.05 19:46

s[++top]=p,把当前节点放入堆栈
bt=p->lchild貌似写错了,是p=p->lchild,继续找左子节点
如果左子没有左子了,那么就输出当前和右子,然后退栈

top--和top++对应,是为了出栈

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!