二叉树遍历-后序遍历(非递归)

       后序非递归遍历,不和前序中序一块写,是因为,后序遍历稍微和前序中序遍历不一样,后序遍历的话必须要判断是右子树退回还是左子树退回,右子树退回直接访问,左子树退回不能直接访问

栈的头文件中:只是栈中元素稍有变化,其他和前中序一致(见上一篇博客)

二叉树的头文件:实现二叉树后序(非递归)

其思想:1在栈不空的情况下,先构造栈结构,使用do{}while(栈不空)循环;2内部循环:根不空,因为入栈的时候首先都初始化成左标识,压栈,根指向根的左子树;3.判断左返回还是右退回,a内部循环,获得栈顶元素b使用switch判断左右退出,右退出直接visit打印,左退出,左标记改为右标记,true 改为false继续压栈,此时不能访问。。。大致思路就是这样。(直接看代码,或许更清晰,可以边调试,边理解)。

控制应用平台效果:

二叉树原型:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值