标题:一个先序建立二叉树的程序,出了问题
只看楼主
不会编程
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-7-8
 问题点数:0 回复次数:0 
一个先序建立二叉树的程序,出了问题
#include<stdio.h>
#include<stdlib.h>
struct Tree{
char ch;
struct Tree* leftptr;
struct Tree* rightptr;
};
typedef struct Tree tree;
tree* topptr;
void create_tree(tree*T,int n)
{
char a;
scanf("%c",&a);
if(a!='*')
{
T=(tree*)malloc(sizeof(tree));
T->ch=a;
if(n==0) topptr=T;
create_tree(T->leftptr,1);
create_tree(T->rightptr,1);
}
else T=NULL;
}
void print(tree*T)
{
if(T!=NULL)
{
printf("%c\n",T->ch);
print(T->leftptr);
print(T->rightptr);
}
else printf("*\n");
}
main()
{
tree* tempptr;
printf("请输入字符\n");
create_tree(tempptr,0);
print(topptr);
system("pause");
return 0;
}
输入数据按先序遍历所得序列输入,当某结点左子树或右子树为空时,输入‘*’号。我先输入字母建立,再先序输出,但结果是无限输出问号
搜索更多相关主题的帖子: 二叉树 tree Tree struct 
2007-08-15 15:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-162916-1-1.html




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

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