Advertisement
SVXX

Iterative PostOrder Traversal

Oct 31st, 2013
411
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.63 KB | None | 0 0
  1.     public static <E> void nonRecursive(BTNode<E> root)
  2.     {
  3.         Stack<BTNode<E>> S = new Stack<BTNode<E>>();
  4.         while (1 != 0)
  5.         {
  6.             if (root != null)
  7.             {
  8.                 S.push(root);
  9.                 root = root.getLeft();
  10.             }
  11.             else
  12.             {
  13.                 if (S.isEmpty())
  14.                 {
  15.                     break;
  16.                 }
  17.                 else if (S.peek().getRight() == null)
  18.                 {
  19.                     root = S.pop();
  20.                     System.out.print(root.getData() + " ");
  21.                     if (root == S.peek().getRight())
  22.                     {
  23.                         System.out.print(S.peek().getData() + " ");
  24.                         S.pop();
  25.                     }
  26.                 }
  27.                 if (!S.isEmpty())
  28.                 {
  29.                     root = S.peek().getRight();
  30.                 }
  31.                 else
  32.                     root = null;
  33.             }
  34.         }
  35.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement