Ejemplo n.º 1
0
        public object Clone()
        {
            BinarySearchTree <T> tree = new BinarySearchTree <T>();

            foreach (TreeNode <T> node in this)
            {
                tree.AddElement(node.Value);
            }

            return(tree);
        }
Ejemplo n.º 2
0
        static void Main()
        {
            BinarySearchTree <string> tree = new BinarySearchTree <string>();

            tree.AddElement("Pesho");
            tree.AddElement("Gosho");
            tree.AddElement("Tosho");
            tree.AddElement("Misho");
            Console.WriteLine(tree);

            BinarySearchTree <string> tree2 = tree.Clone() as BinarySearchTree <string>;

            Console.WriteLine(tree2);
            Console.WriteLine(tree.Equals(tree2)); //True
            Console.WriteLine(tree.GetHashCode());
            Console.WriteLine(tree2.GetHashCode());
            tree.RemoveElement("Pesho");
            Console.WriteLine(tree);
            Console.WriteLine(tree2);
            Console.WriteLine(tree.Equals(tree2)); //False
            Console.WriteLine(tree.GetHashCode());
            Console.WriteLine(tree2.GetHashCode());
        }