回 帖 发 新 帖 刷新版面

主题:二叉树遍历遇到的问题

#include "malloc.h"

typedef struct BiTNode
{
 char data;
 struct BiTNode *lchild;
 struct BiTNode *rchild;
}BiTNode;
void CreateBiTree(BiTNode *T)

 char c;printf("输入节点");
 scanf("%s",&c);
 if('*'==c)
 {
  T=NULL;
 }
 else
 {
  T=(BiTNode*)malloc(sizeof(BiTNode));
  if(!T)printf("error");
  T->data=c;
  CreateBiTree(T->lchild);
  CreateBiTree(T->rchild);
 }

}

void inorder(BiTNode *bt)
{  if(bt!=NULL)
   {  inorder(bt->lchild);
      printf("%c ",bt->data);
      inorder(bt->rchild);
   }
}

void main()
{
 BiTNode T;
 CreateBiTree(&T);printf("输入节点");
 inorder( &T);
}

运行时二叉树构造不出来,出现debug error
请师哥师姐帮忙啊。

回复列表 (共1个回复)

沙发

#include <stdlib.h>

typedef struct BiTNode
{
 char data;
 struct BiTNode *lchild;
 struct BiTNode *rchild;
}BiTNode,*BiTree;
void CreateBiTree(BiTree  &T)

 char c;printf("输入节点");
 scanf("%s",&c);
 if(c=='*')
 {T=NULL; }
 else
 {
  T=(BiTNode*)malloc(sizeof(BiTNode));
  if(!T)printf("error");
  T->data=c;
  CreateBiTree(T->lchild);
  CreateBiTree(T->rchild);
 }

}
void inorder(BiTree bt)
{  if(bt!=NULL)
   {  inorder(bt->lchild);
      printf("%c ",bt->data);
      inorder(bt->rchild);
   }
}

void main()
{
BiTree  T;
printf("创建二叉树“);
 CreateBiTree(T);
 printf("中序遍历二叉树”);
inorder( T);
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册