internal BinaryTreeEnumerator(BinNode head, BinaryTreeReadMode mode) { next = new Queue <BinNode>(); used = new Queue <BinNode>(); switch (mode) { case BinaryTreeReadMode.Preorder: Pre(head); break; case BinaryTreeReadMode.Inorder: In(head); break; case BinaryTreeReadMode.Postorder: Post(head); break; } }
/// <summary> /// Contructors for enumrator /// </summary> public BinaryTreeEnumrator(BinaryTree <T> tree, BinaryTreeReadMode mode) { queue = new Queue <T>(); used = new Queue <T>(); switch (mode) { case BinaryTreeReadMode.Preorder: Preorder(tree.head); break; case BinaryTreeReadMode.Inorder: Inorderer(tree.head); break; case BinaryTreeReadMode.Postorder: Postorder(tree.head); break; default: throw new NotImplementedException("Not a supported read mode"); } }
/// <summary> /// Creates a new empty binary tree /// </summary> public BinaryTree(BinaryTreeReadMode readMode) { head = null; Count = 0; ReadMode = readMode; }