没有合适的资源?快使用搜索试试~ 我知道了~
8-11算法D1
需积分: 0 0 下载量 101 浏览量
2022-08-03
14:11:07
上传
评论
收藏 45KB PDF 举报
温馨提示
试读
1页
算法 D (二叉树形的删除)//删除树中指针 q 指向的结点//q 的位置由它的左儿子 llink(q)取代//把以 t 为根的子树接到树中,同时释放结点 q。
资源详情
资源评论
资源推荐
算法 D (二叉树形的删除)
//删除树中指针 q 指向的结点
template <class T>
void BSTree<T>::Delete(BSTNode<T>* q)
{
if(q==NULL) return;
BSTNode<T>*t=q;
if(t->rlink==NULL) t=t->llink; //q 的位置由它的左儿子 llink(q)取代
else
{
BSTNode<T> *r=t->rlink;
if(r->llink==NULL)
{
r->llink=q->llink;
t=r;
}
else
{
BSTNode<T> *s=r->llink;
while(s->llink!=NULL)
{
r=s;
s=r->llink;
}
s->llink=t->llink;
r->llink=s->rlink;
s->rlink=t->rlink;
t=s;
}
}
if(q==root) root=t; //把以 t 为根的子树接到树中,同时释放结点 q
else
{
BSTNode<T> *f=Father(root,q); /*Father(root,q)函数返回 q 的父结点*/
if(f->llink==q) f->llink=t;
else f->rlink=t;
}
delete q;
}
小埋妹妹
- 粉丝: 22
- 资源: 344
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0