typedef struct node
{
char data;
struct node *lchild;
struct node *rchild;
}*Tree, Tnode;
static void CreateTree(Tree *T);
题目:二叉排序树
就一个函数:创建函数.
条件是:CreateTree()函数只能有一个参数,那就是"根".不能有同数据域相同类型的参数
创建成功者给3000金币
前几天 刚做作业了的,还留的在。
void InsertBST(bitree *t,char key)
{
bitnode *f,*p=*t;
while(p){
if(p->data==key) return;
f=p;
p=(key<p->data)?p->lchild:p->rchild;
}/*endwhile*/
p=(bitnode *)malloc(sizeof(bitnode));
p->data=key;
p->lchild=NULL;
p->rchild=NULL;
if(*t==NULL) *t=p;
else
if(key<f->data) f->lchild=p;
else f->rchild=p;
}
BSTree CreateBST()
{
bitree t=NULL;
char key;
scanf("%1s",&key);
while(key=='#'){
InsertBST(&t,key);
scanf("%1s",&key);
}
return t;
}
前几天 刚做作业了的,还留的在。
void InsertBST(bitree *t,char key)
{
bitnode *f,*p=*t;
while(p){
if(p->data==key) return;
f=p;
p=(key<p->data)?p->lchild:p->rchild;
}/*endwhile*/
p=(bitnode *)malloc(sizeof(bitnode));
p->data=key;
p->lchild=NULL;
p->rchild=NULL;
if(*t==NULL) *t=p;
else
if(key<f->data) f->lchild=p;
else f->rchild=p;
}
BSTree CreateBST()
{
bitree t=NULL;
char key;
scanf("%1s",&key);
while(key=='#'){
InsertBST(&t,key);
scanf("%1s",&key);
}
return t;
}
同学,你这东东能运行吗?