Beispiel #1
0
            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;
                }
            }
Beispiel #2
0
            /// <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");
                }
            }
Beispiel #3
0
 /// <summary>
 /// Creates a new empty binary tree
 /// </summary>
 public BinaryTree(BinaryTreeReadMode readMode)
 {
     head     = null;
     Count    = 0;
     ReadMode = readMode;
 }