0001 template <typename T> BTNP<T> BTree<T>::search(const T& e) { 0002 for (_x = _root; ; _x = _x->way[_k+1]) { //自根而下,逐层深入(I/O) 0003 _k = _x->key.search(e); //简便起见用了二分查找,但此时改用顺序查找亦无妨 0004 if ((-1 != _k) && (e == _x->key[_k])) return _x; //命中于节点_x->key[_k] 0005 if (!_x->way[_k+1]) return nullptr; //失败于叶节点_x 0006 } 0007 } //search