Пример #1
0
        public static List <T> MidOrderWalk <T>(BinaryTreeNode <T> tree, TreeWalkType treeWalkType = TreeWalkType.Normal) where T : IComparable <T>
        {
            var output = new List <T>();

            if (TreeWalkType.Normal == treeWalkType)
            {
                MidOrderNormal(tree, output);
            }
            else
            {
                MidOrderRecursively(tree, output);
            }

            return(output);
        }
Пример #2
0
        public static List <T> PostOrderWalk <T>(BinaryTreeNode <T> tree, TreeWalkType treeWalkType = TreeWalkType.Normal) where T : IComparable <T>
        {
            IEnumerable <T> output;

            if (TreeWalkType.Normal == treeWalkType)
            {
                var p = new Stack <T>();
                PostOrderNormal(tree, p);
                output = p;
            }
            else
            {
                var p = new List <T>();
                PostOrderRecursively(tree, p);
                output = p;
            }

            return(output.ToList());
        }