| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1174 人关注过本帖
标题:请教各位大佬关于二叉树的问题
只看楼主 加入收藏
胡晓影
Rank: 2
等 级:论坛游民
帖 子:9
专家分:15
注 册:2020-4-14
收藏
 问题点数:0 回复次数:1 
请教各位大佬关于二叉树的问题
#include<stdio.h>
#include<stdlib.h>
 typedef struct Node//节点
 {
     char data;//数据域
     struct Node* lchild;
     struct Node* rchild;
  } *node;
void Create(node root)
{
    rewind(stdin);//清除缓冲区(清除\n对数据的读取)
  char ch ;
  scanf_s("%c",&ch);
  if (ch == '#')//控制树的结构
  {
    root = NULL;
  }
  else
  {
    root = (node )malloc(sizeof(node));  
   
    (root->data) = ch;
    Create(root->lchild);
    Create(root->rchild);
  }
   
}
 void     PreTraverse(node N)//先序遍历
 {
 
     if(N!=NULL)
     {
     printf("%c\t",N->data);
    PreTraverse(N->lchild);
    PreTraverse(N->rchild);
     }
   
  }
void     MidTraverse(node N)//中序遍历
 {
     if(N!=NULL)
     {
    MidTraverse(N->lchild);
     printf("%c",N->data);
    MidTraverse(N->rchild);   
     }
  }
void     PosTraverse(node N)//后序遍历
 {
     if(N!=NULL)
     {
    PosTraverse(N->lchild);
    PosTraverse(N->rchild);   
    printf("%c",N->data);   
     }
  }
 void main()
  {    node Root;
  int depth;
      printf("请按先序遍历的顺序输入各节点(#表示没有叶子节点,如:AB##C#D##)\n");
      Create(    Root);
      printf("先序遍历:\n");
    PreTraverse(Root);
    printf("中序遍历:\n");
    MidTraverse(Root);
    printf("后序遍历:\n");
    PosTraverse(Root);

   }
看不出哪错了,

[此贴子已经被作者于2021-6-12 18:44编辑过]

搜索更多相关主题的帖子: Node data printf void 遍历 
2021-06-12 18:42
王牌疯姐姐
Rank: 1
来 自:湖南
等 级:新手上路
威 望:2
帖 子:8
专家分:0
注 册:2021-7-17
收藏
得分:0 
把scanf的“-s”去掉

唱反调是我的本性,出其不意是我的个性。
2021-08-06 19:21
快速回复:请教各位大佬关于二叉树的问题
数据加载中...
 
   



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

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