教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

二叉排序树的建立与删除(5)

来源:网络收集 时间:2026-08-20
导读: 周国庆 《二叉排序树的建立与删除》 第16页 共19页 p=t; f=NULL; while(p){ if(p->data==k) break; f=p; if(p->data>k) p=p->lchild; else p=p->rchild; } if(p==NULL){ } printf(\关键字不存在!\\n\return t; if(p

周国庆 《二叉排序树的建立与删除》 第16页 共19页

p=t; f=NULL; while(p){

if(p->data==k) break; f=p; if(p->data>k) p=p->lchild; else p=p->rchild;

}

if(p==NULL){ }

printf(\关键字不存在!\\n\return t;

if(p->lchild==NULL){

if(f==NULL)

t=p->rchild;

else if(f->lchild==p)

f->lchild=p->rchild;

else f->rchild=p->rchild; free(p); } else{

q=p; s=p->lchild; while(s->rchild){ } if(q==p)

q->lchild=s->lchild; q=s; s=s->rchild;

周国庆 《二叉排序树的建立与删除》 第17页 共19页

else q->rchild=s->lchild;

p->data=s->data; }

void createbst(bitree *root) //二叉排序树的建立 {

int i,data,cnt;

*root=NULL; //置空树 printf(\请输入数据个数: \ //设置输入数据个数 scanf(\ printf(\请输入数据: \

for(i=0;i

void table() //显示选项列表 {

printf(\ 二叉树操作:\\n\

printf(\ 1. 创建二叉树 \\n\ printf(\ 2. 搜索节点 \\n\ printf(\ 3. 插入节点 \\n\ printf(\ 4. 删除节点 \\n\ printf(\ 0. 退出 \\n\}

}

free(s);

return t;

周国庆 《二叉排序树的建立与删除》 第18页 共19页

int main() {

int data,menu;bitree root;

table(); //调用table函数显示操作列表 printf(\请输入相应操作:\ scanf(\

while(!(menu>=0 && menu<=4)){ //输入序号不存在,操作出错

printf(\操作有问题,请重新输入:\ scanf(\}

while(menu!=0){ //建立循环,选择不同的操作

switch(menu){

case 1:{ //选择操作1,即二叉排序树的创建

printf(\创建二叉树: \\n\ createbst(&root); display(root); printf(\ break; }

case 2:{ //选择操作2,即在二叉排序树中进行查找

printf(\请输入你想搜索的关键字:\ scanf(\ int t=searchbst(root,data); if(t!=INF){

printf(\查找成功: \ printf(\ }

else printf(\关键字不存在\\n\ break; }

周国庆 《二叉排序树的建立与删除》 第19页 共19页

case 3:{ //选择操作3,即在二叉排序树中进行插入操作

printf(\请输入你想插入的关键字:\ scanf(\ insertbst(&root,data); display(root); printf(\ break; }

case 4:{ //选择操作4,即在二叉排序树中进行删除操作

printf(\请输入你想删除的关键字:\ scanf(\ deletebst(root,data); display(root); printf(\ break; } }

printf(\请继续进行相应操作:\ scanf(\ } return 0; }

二叉排序树的建立与删除(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/595440.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)