相关代码 |
|
算法 8.5 bool Insert_BST(BiTree &T, ElemType e ) { // 当二叉查找树T中不存在关键字等于e.key的数据元素时, // 插入e并返回TRUE,否则不再插入并返回FALSE f = NULL; if (Search_BST ( T, e.key, p, f )) return FALSE; // 树中已有关键字相同的结点,不再插入 else { // 查找不成功,插入结点 s = new BiTNode; s->data = e; s->lchild = s->rchild = NULL; if ( !f ) T = s; // T为空树,插入的s 结点为新的根结点 else if( e.key < f->data.key) f->lchild = s; //插入 s 结点为左孩子 else f->rchild = s; // 插入 s 结点为右孩子 return TRUE; }//else } // Insert_BST