Ejemplo n.º 1
0
        private RedBlackNode <T1, T2> RotateLeft(RedBlackNode <T1, T2> node)
        {
            if (node.right == null)
            {
                return(node);
            }
            var nodeColor = node.isRed;
            //Console.WriteLine("rotate left called with "+node.key.ToString());
            var v = node.right;

            if (node.right != null)
            {
                //Console.WriteLine("rotate left called with "+node.right.key.ToString());
                node.right = v.left;
            }
            v.left     = node;
            v.isRed    = nodeColor;
            node.isRed = true;
            return(v);
        }
Ejemplo n.º 2
0
        public void Add(T1 key, T2 value)
        {
            var valueNode = new RedBlackNode <T1, T2>(key, value);

            this.redBlackNode = AddNode(this.redBlackNode, valueNode);
        }