Пример #1
0
        public static bool Contains(AvlNode <T> node, T value)
        {
            if (node == null)
            {
                return(false);
            }

            var compareResult = value.CompareTo(node.Value);

            if (compareResult < 0)
            {
                return(Contains(node.Left, value));
            }
            else if (compareResult > 0)
            {
                return(Contains(node.Right, value));
            }

            return(true);
        }
Пример #2
0
 public bool Add(T value)
 {
     return(AvlNode <T> .Add(ref this.root, value));
 }
Пример #3
0
 public bool Contains(T value)
 {
     return(AvlNode <T> .Contains(this.root, value));
 }
Пример #4
0
 public static void RotateLeft(ref AvlNode <T> node)
 {
     Rotate(ref node, 1, 0);
 }
Пример #5
0
 public static void RotateRight(ref AvlNode <T> node)
 {
     Rotate(ref node, 0, 1);
 }
Пример #6
0
 public static int GetHeight(AvlNode <T> node)
 {
     return(node == null ? 0 : node.height);
 }
Пример #7
0
 public static int GetSize(AvlNode <T> node)
 {
     return(node == null ? 0 : node.size);
 }