public StudentTree(int count) { this.count = count; this.Root = CreateNode(ref count); }
//后序遍历 public void PostOrder(StudentNode node) { if (node == null) return; PostOrder(node.LeftChild); PostOrder(node.RightChild); Console.Write(node.Student.Name + "\t"); }
//创建结点及其子结点 StudentNode CreateNode(ref int index) { if (R.Next(count) > index) return null; if (--index == 0) return null; StudentNode node = new StudentNode(new Student(20120000 + index)); node.LeftChild = CreateNode(ref index); //创建左孩子结点 node.RightChild = CreateNode(ref index); //创建右孩子结点 return node; }