回 帖 发 新 帖 刷新版面

主题:二叉树的建立及遍历!!!!!

#define NULL 0;
typedef char elemtype;
typedef struct bitnode
{
char data;
  struct bitnode *lchild,*rchild;
}bitnode,*bitree;

void creatree(bitree *s)
  {
   char xt;
   bitree t;
   scanf("%c",&xt);
   if(xt==' ') *s=NULL
      else
 {
 t=(bitnode*)malloc(sizeof(bitnode));
 if (!t) printf("\n超过空间\n");
 t->data=xt;
         *s=t;
 creatree(&((*s)->lchild));
 creatree(&((*s)->rchild));
 }
       return;
  }
void xian(bitree s)
  {
     if(s)
       {
 printf("%c->",s->data);
 xian(s->lchild);
 xian(s->rchild);
       }
    return;
  }

void zhong(bitree s)
  {
     if(s)
       {
 zhong(s->lchild);
         printf("%c->",s->data);
 zhong(s->rchild);
}
     return;
  }
void hou(bitree s)
  {
     if(s)
       {
 hou(s->lchild);
 hou(s->rchild);
         printf("%c->",s->data);
        }
     return;
  }

void main()
  {
   bitree s;
   clrscr();
   printf("\n请按先序方式输入数据!\n");
   creatree(&s);
   printf("\n按先序方式输出:\n");
   xian(s);
   printf("\b\n");
   printf("\n按中序方式输出:\n");
   zhong(s);
   printf("\b\n");
   printf("\n按后序方式输出:\n");
   hou(s);
   printf("\b\n");
   clrscr();
   getch();
   return;
   }

回复列表 (共5个回复)

沙发

不能建立二叉树

板凳

为什么void类型的,还要return呢?
谢谢指教!
还有应该加上头文件#include<conio.h>
最后如果有clrscr()不是没有显示结果了吗?

3 楼

楼上的,注意他的那句是return;而不是return 0;void类型的函数可以用return;的。
楼主的程序逻辑上没有问题

4 楼

为什么,这个程序不能运行啊?我有点不懂耶,等待你的指教.

5 楼

这么差的,就不要写上去啦,丢人嘛!

我来回复

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