Exemplo n.º 1
0
        public T LowerBound(T val, T lastval)
        {
            int cmp = val.CompareTo(Value);

            if (cmp < 0)
            {
                if (LeftNode == null)
                {
                    return(lastval);
                }
                lastval = LeftNode.Value;
                return(LeftNode.LowerBound(val, lastval));
            }
            else if (cmp > 0)
            {
                if (RightNode == null)
                {
                    return(lastval);
                }
                lastval = RightNode.Value;
                return(RightNode.LowerBound(val, lastval));
            }
            return(val);
        }