标签:
1 public class BinaryTree 2 { 3 public void printNode(TreeNode node) 4 { 5 System.out.print(node.getData()); 6 } 7 8 class TreeNode 9 { 10 private String data; 11 12 private TreeNode leftNode; 13 14 private TreeNode rightNode; 15 16 public TreeNode(String data, TreeNode leftNode, TreeNode rightNode) 17 { 18 this.data = data; 19 this.leftNode = leftNode; 20 this.rightNode = rightNode; 21 } 22 23 public String getData() 24 { 25 return data; 26 } 27 28 public void setData(String data) 29 { 30 this.data = data; 31 } 32 33 public TreeNode getLeftNode() 34 { 35 return leftNode; 36 } 37 38 public void setLeftNode(TreeNode leftNode) 39 { 40 this.leftNode = leftNode; 41 } 42 43 public TreeNode getRightNode() 44 { 45 return rightNode; 46 } 47 48 public void setRightNode(TreeNode rightNode) 49 { 50 this.rightNode = rightNode; 51 } 52 } 53 54 public static void main(String[] args) 55 { 56 BinaryTree tree = new BinaryTree(); 57 TreeNode node = tree.init(); 58 // 先序遍历。。。。。。。 59 System.out.println("**************************"); 60 System.out.println("先序遍历。。。。。。。"); 61 tree.xianIterator(node); 62 System.out.println(""); 63 // 中序遍历。。。。。。。 64 System.out.println("**************************"); 65 System.out.println("中序遍历。。。。。。。"); 66 tree.zhongIterator(node); 67 System.out.println(""); 68 // 后续遍历。。。。。。。 69 System.out.println("**************************"); 70 System.out.println("后序遍历。。。。。。。"); 71 tree.houIterator(node); 72 } 73 74 public TreeNode init() 75 { 76 TreeNode D = new TreeNode("D", null, null); 77 TreeNode H = new TreeNode("H", null, null); 78 TreeNode I = new TreeNode("I", null, null); 79 TreeNode J = new TreeNode("J", null, null); 80 TreeNode P = new TreeNode("P", null, null); 81 TreeNode G = new TreeNode("G", P, null); 82 TreeNode F = new TreeNode("F", null, J); 83 TreeNode E = new TreeNode("E", H, I); 84 TreeNode B = new TreeNode("B", D, E); 85 TreeNode C = new TreeNode("C", F, G); 86 TreeNode A = new TreeNode("A", B, C); 87 return A; 88 } 89 90 public void xianIterator(TreeNode node) 91 { 92 this.printNode(node); 93 if (node.getLeftNode() != null) 94 { 95 this.xianIterator(node.getLeftNode()); 96 } 97 if (node.getRightNode() != null) 98 { 99 this.xianIterator(node.getRightNode()); 100 } 101 } 102 103 public void zhongIterator(TreeNode node) 104 { 105 if (node.getLeftNode() != null) 106 { 107 this.zhongIterator(node.getLeftNode()); 108 } 109 this.printNode(node); 110 if (node.getRightNode() != null) 111 { 112 this.zhongIterator(node.getRightNode()); 113 } 114 } 115 116 public void houIterator(TreeNode node) 117 { 118 if (node.getLeftNode() != null) 119 { 120 this.houIterator(node.getLeftNode()); 121 } 122 123 if (node.getRightNode() != null) 124 { 125 this.houIterator(node.getRightNode()); 126 } 127 this.printNode(node); 128 } 129 }
标签:
原文地址:http://www.cnblogs.com/moleme/p/4394818.html