| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 723 人关注过本帖
标题:帮我看这个二叉排序树程序错哪了!急!程序
只看楼主 加入收藏
hdq170124671
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-12-3
收藏
 问题点数:0 回复次数:3 
帮我看这个二叉排序树程序错哪了!急!程序

#include<stdio.h>
#include<alloc.h>
#define keytype int
#define datatype char
typedef struct node
{
keytype key;
datatype vex;
struct node *lchild,*rchild;
}bstnode;
bstnode *INSERTBST(bstnode *t,bstnode *s)
{
bstnode *f,*p;
p=t;
while(p!=NULL)
{
f=p;
if(s->key==p->key)
return t;
if(s->key<p->key)
p=p->lchild;
else
p=p->rchild;
}
if(t==NULL)
return s;
if(s->key<f->key)
f->lchild=s;
else
f->rchild=s;
return t;
}
bstnode *CREATBST()
{
bstnode *s,*t;
keytype key,endflag=0;
datatype data;
t=NULL;
printf("intput a node key:");
scanf("%d",&key);
while(key!=endflag)
{
s=malloc(sizeof(bstnode));
s->lchild=s->rchild=NULL;
s->key=key;
printf("intput node's data:");
t=INSERTBST(t,s);
printf("intput last node key:");
scanf("%d",&key);
}
return t;
}
main()
{
bstnode *m;
bstnode *CREATBST();
m=bstnode *CREABST();
printf("%c",m);
}

2005-12-05 11:32
badstreams
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-11-23
收藏
得分:0 
#include<stdio.h>
#include<malloc.h>
typedef int keytype;
typedef char datatype;
typedef struct node
{
keytype key;
datatype vex;
struct node *lchild,*rchild;
}bstnode;
bstnode *INSERTBST(bstnode *t,bstnode *s)
{
bstnode *f,*p;
p=t;
while(p!=NULL)
{
f=p;
if(s->key==p->key)
return t;
if(s->key<p->key)
p=p->lchild;
else
p=p->rchild;
}
if(t==NULL)
return s;
if(s->key<f->key)
f->lchild=s;
else
f->rchild=s;
return t;
}
bstnode *CREATBST()
{
bstnode *s,*t;
keytype key,endflag=0;
t=NULL;
printf("intput a node key:");
scanf("%d",&key);
while(key!=endflag)
{
s=(bstnode*)malloc(sizeof(bstnode));
s->lchild=s->rchild=NULL;
s->key=key;
printf("intput node's data:");
t=INSERTBST(t,s);
printf("intput last node key:");
scanf("%d",&key);
}
return t;
}
main()
{
bstnode *m;
m=CREATBST();
printf("%c",m);
return (1);}
2005-12-09 14:05
梧桐
Rank: 1
等 级:新手上路
帖 子:135
专家分:0
注 册:2005-11-17
收藏
得分:0 
楼主的代码小弟仔细看了,有些地方不明白

1)bstnode结构体中的datatype vex有什么用呢?
2)主程序最后返回的一个指针,怎么知道二叉排序树构造正确了呢?
3)楼主说的程序出错了,是什么具体的含义?什么错误呢?

我们刚好也学到这,正要做实验。
楼主的程序很不错的,加一点注释就完美了!


The future is ours to build!
2005-12-10 15:22
梧桐
Rank: 1
等 级:新手上路
帖 子:135
专家分:0
注 册:2005-11-17
收藏
得分:0 
printf("%c",m);
改为
printf("%p",m);
就能看到有序树的指针了。

[此贴子已经被作者于2005-12-11 21:40:54编辑过]


The future is ours to build!
2005-12-11 21:40
快速回复:帮我看这个二叉排序树程序错哪了!急!程序
数据加载中...
 
   



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

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