Exemplo n.º 1
0
        static void Main(string[] args)
        {
            BtnTree <int> tree1 = new BtnTree <int>();

            tree1.Add(16);
            tree1.Add(4);
            tree1.Add(12);
            tree1.Add(15);
            tree1.Add(11);
            tree1.Add(10);
            tree1.Add(3);
            tree1.Add(2);
            tree1.Add(18);

            BtnTree <int> tree2 = new BtnTree <int>();

            tree2.Add(10);
            tree2.Add(3);
            tree2.Add(2);
            tree2.Add(4);
            tree2.Add(12);
            tree2.Add(15);
            tree2.Add(11);
            tree2.Add(16);
            tree2.Add(18);

            if (TreesEqual <int>(tree1, tree2))
            {
                Console.WriteLine("Trees are equal.");
            }
            else
            {
                Console.WriteLine("Trees are not equal.");
            }
        }
Exemplo n.º 2
0
        static bool TreesEqual <T>(BtnTree <T> tree1, BtnTree <T> tree2) where T : IComparable
        {
            if (tree1.Count != tree2.Count)
            {
                return(false);
            }

            IEnumerator <T> enum1 = tree1.GetEnumerator();
            IEnumerator <T> enum2 = tree2.GetEnumerator();

            while (enum1.MoveNext() && enum2.MoveNext())
            {
                if (enum1.Current.CompareTo(enum2.Current) != 0)
                {
                    return(false);
                }
            }

            return(true);
        }