コード例 #1
0
ファイル: binaryTree.cs プロジェクト: pawels17/MUTDOD
        public V[] getAllValues()
        {
            List <V> r = new List <V>();

            r.Add(value);
            r.AddRange(left == null ? new V[0] : left.getAllValues());
            r.AddRange(right == null ? new V[0] : right.getAllValues());
            return(r.ToArray());
        }
コード例 #2
0
ファイル: binaryTree.cs プロジェクト: pawels17/MUTDOD
        //// Simple 'drawing' routines
        //private string drawNode (TTreeNode<T>node) {
        //    if (node == null)
        //        return "empty";

        //    if ((node.left == null) && (node.right == null))
        //        return node.value.ToString();
        //    if ((node.left != null) && (node.right == null))
        //        return node.value + "(" + drawNode(node.left) + ", _)";

        //    if ((node.right != null) && (node.left == null))
        //        return node.value + "(_, " + drawNode(node.right) + ")";

        //    return node.value + "(" + drawNode(node.left) + ", " + drawNode(node.right) + ")";
        //}


        ///// <summary>
        ///// Return the tree depicted as a simple string, useful for debugging, eg
        ///// 50(40(30(20, 35), 45(44, 46)), 60)
        ///// </summary>
        ///// <returns>Returns the tree</returns>
        //public string drawTree() {
        //    return drawNode (root);
        //}

        public V[] getAllValues()
        {
            if (root == null)
            {
                return(new V[0]);
            }

            return(root.getAllValues());
        }