Beispiel #1
0
        private void AddNode(AvlNode node, AvlNode parent, K key, V value)
        {
            AvlNodeHead head = node as AvlNodeHead;

            if (head != null)
            {
                var newNext = new NodeLinked(key, value, head.next);
                head.next = newNext;
                return;
            }

            var newHead = new AvlNodeHead(node.HashCode, key, value, node);

            newHead.Balance = node.Balance;
            newHead.Left    = node.Left;
            newHead.Right   = node.Right;

            if (parent == null)
            {
                _root = newHead;
                return;
            }

            if (node == parent.Left)
            {
                parent.Left = newHead;
            }
            else
            {
                parent.Right = newHead;
            }
        }
        private void AddNode(AvlNode q, AvlNode qparent, K key, V value)
        {
            AvlNodeHead head = q as AvlNodeHead;

            if (head != null)
            {
                var newNext = new NodeLinked(key, value, head.next);
                head.next = newNext;
            }
            else
            {
                var newHead = new AvlNodeHead(q.HashCode, key, value, q);
                newHead.Balance = q.Balance;
                newHead.Left    = q.Left;
                newHead.Right   = q.Right;

                if (qparent == null)
                {
                    root = newHead;
                }
                else
                {
                    if (q == qparent.Left)
                    {
                        qparent.Left = newHead;
                    }
                    else
                    {
                        qparent.Right = newHead;
                    }
                }
            }
        }
	public static int Main ()
	{
		var nl = new NodeLinked (5);
		if (nl.Next != 5)
			return 1;

		return 0;
	}
    public static int Main()
    {
        var nl = new NodeLinked(5);

        if (nl.Next != 5)
        {
            return(1);
        }

        return(0);
    }