呵呵.单独开个文章,纯属广告啊.不过,内容倒是货真价实的. Node * Search (const Item min, const Item max) ; Node * IntervalTree :: m_Search (Node * pn) const { Node * pMinMin ; if (pn) { if (pn -> left && pn -> left -> maxOfAll >= m_min) { pMinMin = m_Search (pn -> left) ; if (pMinMin) return pMinMin ; else if (m_Overlap (pn -> min, pn -> max)) return pn ; else return NULL ; } else if (m_Overlap (pn -> min, pn -> max)) return pn ; else return m_Search (pn -> right) ; } else return NULL ; } Node * IntervalTree :: Search (const Item min, const Item max) { m_min = min ; m_max = max ; return m_Search (m_root) ; }