java实现二叉树前序遍历迭代器

 前些日子有人在csdn里面发贴,需要用java实现二叉树前序遍历的迭代器,即用next方法来获取前序遍历的当前结点。实习回来没事干,写了一下。关键就是要用一个栈来保存遍历路径。主要涉及类如下:

class TreeNode  这个类用来声明树的结点,其中有左子树、右子树和自身的内容。

class MyTree  这个类用来声明一棵树,传入根结点。这里设计的比较简单

class TreeEum  这个类是树的迭代器,通过MyTree类的方法获取,这里主要就是设计它了。代码如下:

 

 

    1. //TreeNode类,使用了泛型,由于比较简单,所以就不作解释
    2. class TreeNode<E>
    3. {
    4.     E node;
    5.     private TreeNode<String> left;
    6.     private TreeNode<String> right;
    7.     public TreeNode(E e)
    8.     {
    9.         this(e,null,null);
    10.     }
    11.     public TreeNode(E e,TreeNode<String> left,TreeNode<String> right)
    12.     {
    13.         this.node=e;
    14.         this.left=left;
    15.         this.right=right;
    16.     }
    17.     public TreeNode<String> left()
    18.     {
    19.         return left;
    20.     }
    21.     public TreeNode<String> right()
    22.     {
    23.         return right;
    24.     }
    25. }

 </

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值