永发信息网

编程高手指教

答案:1  悬赏:50  手机版
解决时间 2021-06-02 10:03
此程序有什么问题?帮忙修改下
#include<stdio.h>
struct tree {
char info;
struct tree *left,*right;
};

struct tree *create_btree(struct tree *root,struct tree *r,char info);
struct tree *search_btree(struct tree *root,char key);

void main()
{
char s[100], c ;
struct tree *root=0, *p;
printf("Input a letter for Creating the Binary_Tre(Directly press <Enter> to stop ):\n");
do{
printf("Input a letter: ");
gets(s);
if (!root)
root=create_btree(root,root,*s);
else
create_btree(root,root,*s);
}while (*s) ;

while ( c!='!')
{
print_btree(root,0);
printf("Enter a character to find( '!' to stop ):");
scanf("%s",&c);
printf("\n");
p=search_btree(root,c);
printf("\n");
}
}



struct tree *create_btree(struct tree *root,struct tree *r,char info)
{
if (r ==0 )
{
r=new(struct tree);
if(r==0)
{
printf("Out of memory\n");
return 0 ;
}
r->left=0;
r->right=0;
r->info=info;
if(root)
{
if(info<root->info)
root -> left=r;
else
root->right=r;
}
else
{
r->right=0;
r->left = 0;
}
return r;
}
if(info<r->info)
create_btree(r,r->left,info);
if(info>=r->info)
create_btree(r,r->right,info);
}

struct tree *search_btree(struct tree *p,char key)
{
struct tree *root;
root=p;
if (!root)
{
printf("Empty btree\n");
return root;
}
while(root->info!=key)
{
if(key<root->info)
root=root->left;
else
root=root->right;
if(root==0)
{
printf("Search Failure\n");
return 0;
}

}
if (root !=0)
printf("Successful search\n key=%c\n",root->info);
return root ;
}
最佳答案

搞2叉树么。。你又不说运行结果跟预期的哪里不同,怎么看啊。。。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
高温天气要喝多少水才正常
房县十堰大自然私家菜我想知道这个在什么地方
小便常规;尿红细胞+潜血(BLD):Ca200(3+
qq飞车买不了东西为什么啊
孝南区孝感徽州特色扒饭哪位知道具体地址啊
my brother is 16 years old,he can"tjoin th
现投资什项目好?
溆浦县怀化二环路南杂百货粮油店这个地址怎么
赛尔号怎么加载地图时到3%时就卡住了
哪个品牌的电脑主机好?
福州哪有卖BB霜?
怎样才能让妆不显得那么干?
大连哪家银行能办理到DNF(地下城与勇士)封
想交一个韩国朋友,谁能介绍下啊,最好有QQ的
怎样非主流,即引人注意又不会招人鄙视。
推荐资讯
谁能把【梦中的婚礼】这谱子写出来。急急急
怎样关闭qq手机邮箱
有免费软件下载吗
为什么我总感觉空虚呢,什么也不想做什么也无
淮安有COSPLAY店么?
DNF鬼鬼怎么只能一个人物用
QQ三国这个装备值多少钱?
将郭沫若的《天上的街市》改写成散文
为什么我的王子还不出现?
最近忙什么呢?
这个冬天还没下雪为什么会这么冷啊?
噢!朋友们!你们好!请问一下大哥大姐小弟小
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?