public static GDFEntryNode Rebalance(GDFEntryNode Root, GDFEntryNode Pivot, TreeNodeBalance Balance)
        {
            switch (Balance)
            {
            case TreeNodeBalance.LeftLeft:
                return(RotateRight(Root, Pivot));

            case TreeNodeBalance.LeftRight:
                return(RotateLeftRight(Root, Pivot));

            case TreeNodeBalance.RightRight:
                return(RotateLeft(Root, Pivot));

            case TreeNodeBalance.RightLeft:
                return(RotateRightLeft(Root, Pivot));
            }
            return(null);
        }
Exemple #2
0
        public static GDFEntryNode Rebalance(GDFEntryNode Root, GDFEntryNode Pivot, TreeNodeBalance Balance)
        {
            switch (Balance)
            {
                case TreeNodeBalance.LeftLeft:
                    return RotateRight(Root, Pivot);

                case TreeNodeBalance.LeftRight:
                    return RotateLeftRight(Root, Pivot);

                case TreeNodeBalance.RightRight:
                    return RotateLeft(Root, Pivot);

                case TreeNodeBalance.RightLeft:
                    return RotateRightLeft(Root, Pivot);
            }
            return null;
        }