Exemplo n.º 1
0
        private static int SortTree(int n, int[] mas)
        {
            Library.TreeNode Tree = new Library.TreeNode();
            Tree.Info = mas[0];
            int c1 = 0;

            for (int i = 1; i < n; i++)
            {
                AddNode(ref Tree, mas[i], ref c1);
            }
            return(c1);
        }
Exemplo n.º 2
0
        static void AddNode(ref Library.TreeNode root, int info, ref int c)
        {
            var newNode = new Library.TreeNode {
                Info = info
            };

            c++;
            if (root == null)
            {
                root = newNode;
                return;
            }
            var node = root;

            while (true)
            {
                if (node.Info > info)
                {
                    c += 2;
                    if (node.Left == null)
                    {
                        node.Left = newNode;
                        return;
                    }
                    else
                    {
                        node = node.Left;
                    }
                }
                else
                if (node.Info < info)
                {
                    c += 3;
                    if (node.Right == null)
                    {
                        node.Right = newNode;
                        return;
                    }
                    else
                    {
                        node = node.Right;
                    }
                }
                else
                {
                    c += 2; return;
                }
            }
        }