码迷,mamicode.com
首页 > 其他好文 > 详细

二叉树的非递归遍历--中序遍历

时间:2016-09-05 19:15:14      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

package algorithm;

import java.util.Stack;
class TreeNode<T> {
    T data;
    TreeNode left;
    TreeNode right;
     public TreeNode(T data, TreeNode left, TreeNode right) {  
         super();  
         this.data = data;  
         this.left = left;  
         this.right = right;  
     }
      public TreeNode(T data){  
          this.data=data;  
      }  
}
public class InOrderTraverse {

    
    public static void  inOrderTraverse(TreeNode root) {
        Stack stack = new Stack();
        
        while(root != null || !stack.isEmpty()) {
            if (root!=null) {
                stack.push(root);
                root=root.left;
            } else {
                visit((TreeNode)stack.peek());
                root = (TreeNode)stack.pop();
                root = root.right;
            }
        }
    }
    private static void  visit(TreeNode p) {
        System.out.println(p.data);
    }
    public static void main(String[] args) {
        TreeNode<Integer> e = new   TreeNode<Integer>(5);
        TreeNode<Integer> g = new   TreeNode<Integer>(7);
        TreeNode<Integer> h = new   TreeNode<Integer>(8);

        TreeNode<Integer> l = new   TreeNode<Integer>(12);
        TreeNode<Integer> m = new   TreeNode<Integer>(13);
        TreeNode<Integer> n = new   TreeNode<Integer>(14);
        TreeNode<Integer> k = new   TreeNode<Integer>(11, n, null);
        TreeNode<Integer> j = new   TreeNode<Integer>(10, l, m);
        TreeNode<Integer> i = new   TreeNode<Integer>(9, j, k);
        TreeNode<Integer> d = new   TreeNode<Integer>(4, null, g);

        TreeNode<Integer> f = new   TreeNode<Integer>(6, h, i);
        TreeNode<Integer> b = new   TreeNode<Integer>(2, d, e);
        TreeNode<Integer> c = new   TreeNode<Integer>(3, f, null);
       
        TreeNode<Integer> root = new   TreeNode<Integer>(1, b, c);
        inOrderTraverse(root);
        

    }

}

二叉树的非递归遍历--中序遍历

标签:

原文地址:http://www.cnblogs.com/godfatherback/p/5843000.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!