public void ListValuesInDepthFirstOrder()
        {
            int            expectedValue = 6;
            DemoTree <int> myTree        = CreateTreeWithValues(expectedValue);

            DisplayTree(myTree);
            var valuesString = string.Join(" ", myTree.ToList().ToArray());

            Assert.AreEqual("1 2 4 5 3 6", valuesString);
        }
Example #2
0
        /// <summary>
        /// Iterates over the tree in depth-first fashion and
        /// returns a list of tree's values
        /// </summary>
        /// <returns></returns>
        public List <T> ToList()
        {
            var myList = new List <T>();

            myList.Add(Value);

            if (LeftChild != null)
            {
                myList.AddRange(LeftChild.ToList());
            }

            if (RightChild != null)
            {
                myList.AddRange(RightChild.ToList());
            }

            return(myList);
        }