コード例 #1
0
        public List <BinaryTreeNode <T> > Traverse(TraversalEnum node)
        {
            List <BinaryTreeNode <T> > nodes = new List <BinaryTreeNode <T> >();

            switch (node)
            {
            case TraversalEnum.PREORDER: TraversePreOrder(Root, nodes);
                break;

            case TraversalEnum.INORDER: TraverseInOrder(Root, nodes);
                break;

            case TraversalEnum.POSTORDER: TraversePostOrder(Root, nodes);
                break;

            default: break;
            }
            return(nodes);
        }
コード例 #2
0
        public List <BinaryTreeNode <T> > Traverse(TraversalEnum mode)
        {
            List <BinaryTreeNode <T> > nodes = new List <BinaryTreeNode <T> >();

            switch (mode)
            {
            case TraversalEnum.Preorder:
                TraversePreOrder(Root, nodes);
                break;

            case TraversalEnum.Inorder:
                TraverseInOrder(Root, nodes);
                break;

            case TraversalEnum.Postorder:
                TraversePostOrder(Root, nodes);
                break;
            }
            return(nodes);
        }
コード例 #3
0
        public List <BinaryTreeNode <T> > Traverse(TraversalEnum mode)
        {
            var result = new List <BinaryTreeNode <T> >();

            switch (mode)
            {
            case TraversalEnum.INORDER:
                TraverseInOrder(Root, result);
                break;

            case TraversalEnum.PREORDER:
                TraversePreOrder(Root, result);
                break;

            case TraversalEnum.POSTORDER:
                TraversePostOrder(Root, result);
                break;
            }

            return(result);
        }