| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1439 人关注过本帖
标题:求助!!关于建立二叉树的,帮忙改一下!!
只看楼主 加入收藏
Uranus
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2006-4-14
收藏
得分:0 

看不明白!


2006-05-06 10:33
findlyhl
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-5-6
收藏
得分:0 

//建立二叉树(按前序方法)
void buildbt(btree &T)
{
char ch;
ch=getchar();
if(ch == ' ')
T=NULL;
else
{
T=(btree)malloc(sizeof(btnode));
T->data=ch;
buildbt(T->lchild);
buildbt(T->rchild);
}

}

2006-05-06 16:58
heliujin
Rank: 2
等 级:论坛游民
帖 子:249
专家分:14
注 册:2006-3-14
收藏
得分:0 

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
typedef struct node
{
char data;
struct node *left,*right;
}node;

node *bitree;

void creat(bitree)

{

char ch;

scanf("%c",&ch);

if(ch==' '){bitree=NULL;}

T=(BitNode *)malloc(sizeof(BitNode ));
T->data=ch;
creat(bitree->left);
creat(bitree->right);
}
void inorder(node *)
{
if(t!=NULL)
{
inorder(t->left);
printf("%c",t->data);
inorder(t->right);
}
}
void main()
{
node *t;
creat(t);
inorder(t);
}
哪位高手能不能帮我看看 谢谢了

2006-05-07 11:04
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#define NULL 0
typedef struct node
{
char data;
struct node *left,*right;
}node,*bitree;


void creat(bitree T)

{

char ch;

scanf("%c",&ch);

if(ch==' '){T=NULL;}

T=(node *)malloc(sizeof(node));
T->data=ch;
creat(T->left);
creat(T->right);
}
void inorder(bitree t)
{
if(t!=NULL)
{
inorder(t->left);
printf("%c",t->data);
inorder(t->right);
}
}
void main()
{
node *t;
creat(t);
inorder(t);
}


2006-05-07 11:44
bennyhe
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2005-11-28
收藏
得分:0 

请问9楼
我把你的word改成char型后为什么遍不过去啊
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>

typedef struct BinTree
{
char word;
struct BinTree *LSubTree;
struct BinTree *RSubTree;
}Node;

Node* CreateTree()
{
Node *tree;
char v;
printf("输入一个数字来建树: (空格等于空)\n");
scanf("%c",&v);

if( v=='#')
tree=NULL;
else
{
tree=(Node*)malloc(sizeof(Node));
tree->word= v;
tree->LSubTree=CreateTree();
tree->RSubTree=CreateTree();
}
return tree;

}


void Inorder(Node *tree)
{
if(tree!= NULL)
{
Inorder(tree->LSubTree);
printf("%3d\n", tree->word);
Inorder(tree->RSubTree);
}
}


void main()
{
Node *Stree;
Stree= CreateTree();
Inorder(Stree);

}

输入的时候出现问题
就是连续出现两个
输入一个数字来建树: (空格等于空)

[此贴子已经被作者于2006-5-8 22:41:03编辑过]

2006-05-08 22:40
快速回复:求助!!关于建立二叉树的,帮忙改一下!!
数据加载中...
 
   



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

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