主题:[讨论]如何查找二叉树的结点
wuliaolll
[专家分:90] 发布于 2007-05-10 19:22:00
求C语言实现的,
按遍历查找,从键盘输入X值,如果找到返回1,否则返回0
谢了。
回复列表 (共3个回复)
沙发
oney139 [专家分:0] 发布于 2007-05-10 23:22:00
我给你个算法吧:
BTree* find(BTree *b,Elemtype x)//采用先序遍历查找x,b为树根,x为要查找元素
{ //先序递归查找
if(b==NULL) return NULL;
else if(b->data==x) return b;
else
{
BTree *p=find(b->left,x);
if(p!=NULL) return p;
else
return find(b->right,x);
}
}
板凳
zwjblue [专家分:50] 发布于 2009-04-21 20:52:00
[quote]我给你个算法吧:
BTree* find(BTree *b,Elemtype x)//采用先序遍历查找x,b为树根,x为要查找元素
{ //先序递归查找
if(b==NULL) return NULL;
else if(b->data==x) return b;
else
{
BTree *p=find(b->left,x);
if(p!=NULL) return p;
else
return find(b->right,x);
}
}[/quote]
好算法!!good!!
3 楼
nvidiamm [专家分:0] 发布于 2009-04-22 09:26:00
好!果然是好!
我来回复