예제 #1
0
        /// <summary>
        /// Вращение поддерева вправо.
        /// </summary>
        /// <param name="a">Ссылка на узел.</param>
        private void RotateRight(ref TreeElement <T> a)
        {
            Log.Add($"Для a={a.Key} применено левое вращение с b={a.Left.Key}");
            var b = a.Left;     // Подъем левого узла вверх

            a.Left  = b.Right;
            b.Right = a;
            a.RefreshHeight();  // Обновление высот
            b.RefreshHeight();
            a = b;
        }