0001 template <typename T> BNP<T> RedBlack<T>::insert(const T& e) { 0002 BST::insert(e, 1); //先按BST规则插入_x(黑高度为1)并染红(祖先黑高度不变),则 0003 if (_p != _x) solveDoubleRed(); //条件1、2、4依然满足,但3未必,或需双红修正 0004 return _x; //无论原树中是否存有e,返回时总有_x->data == e 0005 } //insert