0001 template <typename T> //二叉树子树接入算法:将S当作节点x的右子树接入,S本身置空 0002 BinNodePosi(T) BinTree<T>::attachAsRC ( BinNodePosi(T) x, BinTree<T>* &S ) { //x->rc == NULL 0003 if ( x->rc = S->_root ) x->rc->parent = x; //接入 0004 _size += S->_size; updateHeightAbove ( x ); //更新全树规模与x所有祖先的高度 0005 S->_root = NULL; S->_size = 0; release ( S ); S = NULL; return x; //释放原树,返回接入位置 0006 } //attachAsLC()完全对称,在此省略;release()负责释放复杂结构,与算法无直接关系,具体实现详见代码包