| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 578 人关注过本帖
标题:--"想你的天空"请进
只看楼主 加入收藏
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
 问题点数:0 回复次数:0 
--"想你的天空"请进

想你的天空:
因你那个帖子被某笨蛋管理人员错误删除.所以我来亡羊补牢!

void Cancel(struct btnode *bt,int x)
{
struct btnode *t,*t1,*t2;
int m=-1;
t=bt;
while(t!=NULL)
{
if(t->data==x) break;
else if(t->data<x) t2=t,t=t2->rchild;
else t2=t,t=t->lchild;
}

if(t!=NULL) t1=t;
else return;

if((t->rchild==NULL)&&(t->lchild==NULL))
{
if(t2->lchild==t) t2->lchild=NULL,free(t);
else t2->rchild=NULL,free(t);
}
else
{

if(t1->rchild!=NULL)
{
t1=t1->rchild,m=0 ;
while(t1->lchild!=NULL)
t2=t1,t1=t2->lchild,m=2;
}
else t1=t1->lchild,m=1;

t->data=t1->data;
if(m==0) t->rchild=t1->rchild,free(t1);
else if(m==1) t->lchild=t1->lchild,free(t1);
else if(m==2)
{
if(t->rchild==NULL) t2->lchild=NULL,free(t1);
else t2->lchild=t1->rchild,free(t1);
}
}
return;
}


以上是你的题目要求..我以整数为元素数据!.可能有的地方写法不同.请自己改正!

[此贴子已经被作者于2006-6-9 1:28:50编辑过]

搜索更多相关主题的帖子: 天空 
2006-06-09 01:27
快速回复:--"想你的天空"请进
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.053223 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved