Esempio n. 1
0
        private ImTreeMapIntToObj KeepBalanced()
        {
            var delta = Left.Height - Right.Height;

            return(delta >= 2 ? With(Left.Right.Height - Left.Left.Height == 1 ? Left.RotateLeft() : Left, Right).RotateRight()
                : (delta <= -2 ? With(Left, Right.Left.Height - Right.Right.Height == 1 ? Right.RotateRight() : Right).RotateLeft()
                    : this));
        }