0001 template <typename T> bool BTree<T>::insert ( const T& e ) { //将关键码e插入B树中 0002 BTNodePosi(T) v = search ( e ); if ( v ) return false; //确认目标节点不存在 0003 Rank r = _hot->key.search ( e ); //在节点_hot的有序关键码向量中查找合适的插入位置 0004 _hot->key.insert ( r + 1, e ); //将新关键码插至对应的位置 0005 _hot->child.insert ( r + 2, NULL ); //创建一个空子树指针 0006 _size++; //更新全树规模 0007 solveOverflow ( _hot ); //如有必要,需做分裂 0008 return true; //插入成功 0009 }