求助高手们数据结构问题
#include"stdafx.h"#include<stdio.h>#include<malloc.h>#include<conio.h>typedefcharData...
#include"stdafx.h"
#include <stdio.h>
#include <malloc.h>
#include <conio.h>
typedef char DataType;
typedef struct Node
{
DataType data;
struct Node *LChild;
struct Node *RChild;
}BiTNode, *BiTree;
void CreateBiTree(BiTree *bt)
{
char ch;
ch = getchar();
if((ch=getchar())=='.') *bt=NULL;
else
{
*bt=(BiTree)malloc(sizeof(BiTNode)); /
(*bt)->data=ch;
CreateBiTree(&((*bt)->LChild));
CreateBiTree(&((*bt)->RChild));
}
}
void Visit(char ch)
{
printf("%c ",ch);
}
void PreOrder(BiTree root)
{
if (root!=NULL)
{
Visit(root ->data); /*访问根结点*/
PreOrder(root ->LChild); /*先序遍历左子树*/
PreOrder(root ->RChild); /*先序遍历右子树*/
}
}
int main()
{
BiTree T;
CreateBiTree(&T);
printf("先序遍历序列为:");
PreOrder(T);
}
程序没任何问题
但是为什么我输入 abc. 或者一个其他序列和.他就是无法输出内容呢?是不是我输入有误? 展开
#include <stdio.h>
#include <malloc.h>
#include <conio.h>
typedef char DataType;
typedef struct Node
{
DataType data;
struct Node *LChild;
struct Node *RChild;
}BiTNode, *BiTree;
void CreateBiTree(BiTree *bt)
{
char ch;
ch = getchar();
if((ch=getchar())=='.') *bt=NULL;
else
{
*bt=(BiTree)malloc(sizeof(BiTNode)); /
(*bt)->data=ch;
CreateBiTree(&((*bt)->LChild));
CreateBiTree(&((*bt)->RChild));
}
}
void Visit(char ch)
{
printf("%c ",ch);
}
void PreOrder(BiTree root)
{
if (root!=NULL)
{
Visit(root ->data); /*访问根结点*/
PreOrder(root ->LChild); /*先序遍历左子树*/
PreOrder(root ->RChild); /*先序遍历右子树*/
}
}
int main()
{
BiTree T;
CreateBiTree(&T);
printf("先序遍历序列为:");
PreOrder(T);
}
程序没任何问题
但是为什么我输入 abc. 或者一个其他序列和.他就是无法输出内容呢?是不是我输入有误? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询