ch5_1.c

来自「一个很好的数据结构(C语言版)讲义。附带全部所需算法源码。」· C语言 代码 · 共 57 行

C
57
字号
#include <alloc.h>
#include <stdio.h>
typedef struct node
{   char data;
    struct node *lchild,*rchild;
}JD;

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

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

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

JD *crt_bt_pre(JD *bt)
{  char ch;
   printf("ch=");
   scanf("%c",&ch);
   getchar();
   if(ch==' ')  bt=NULL;
   else
   {   bt=(JD *)malloc(sizeof(JD));
       bt->data=ch;
       bt->lchild=crt_bt_pre(bt->lchild);
       bt->rchild=crt_bt_pre(bt->rchild);
   }
   return(bt);
}

void main()
{  JD *head=NULL;
/*   char a[]={'A','B','C',' ',' ','D','E',' ','G',' ',' ','F',' ',' ',' '};*/
   head=crt_bt_pre(head);
   preorder(head);
   printf("\n");
   inorder(head);
   printf("\n");
   postorder(head);
   printf("\n");
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?