当前位置: 首页 > news >正文

树的先序,中序,后序递归遍历

//树的先序、中序、后序遍历递归 

#include<bits/stdc++.h>

typedef struct node

{

 char data;

 struct node *lchild,*rchild;

}BTNode;

void Greate(BTNode *&T)

{

 char ch;

 scanf("%c",&ch);

 if(ch=='#') T=NULL;

 else 

 {

  T=(BTNode*)malloc(sizeof(BTNode));

  T->data=ch;

  Greate(T->lchild);

  Greate(T->rchild);

 }

}

//先序遍历 

void PreOrder(BTNode *T)

{

 if(T!=NULL)

 {

  printf("%c",T->data);

  PreOrder(T->lchild);

  PreOrder(T->rchild);

 }

//中序遍历

void InOrder(BTNode *T)

{

 if(T!=NULL)

 {

  InOrder(T->lchild);

  printf("%c",T->data);

  InOrder(T->rchild);

 }

void PostOrder(BTNode *T)

{

 if(T!=NULL)

 {

  PostOrder(T->lchild);

  PostOrder(T->rchild);

  printf("%c",T->data);

 }

}

int main()

{

 BTNode *T;

 Greate(T);

 printf("先序遍历:");

 PreOrder(T);

 printf("\n");

 printf("中序遍历:");

 InOrder(T);

 printf("\n");

 printf("后序遍历:");

 PostOrder(T);

 return 0;

}

输入:AB#D##C#F##

输出:

先序遍历:ABDCF

中序遍历:BDACF

后序遍历:DBFCA

http://www.lryc.cn/news/89141.html

相关文章:

  • 如何在Linux中更改SSH端口?
  • 合创视觉科技UI设计师就业发展前景怎么样?薪资待遇如何?
  • VB一个可以改变箭头方向的气泡提示
  • STM8、STM8S003F3P6 双机串口通信(片上串口)
  • FPGA基于AXI 1G/2.5G Ethernet Subsystem实现千兆UDP通信 提供工程源码和技术支持
  • 机器学习基础知识之多模型性能对比评价方法
  • 对敏感信息脱敏,如对姓名、证件号码、手机号码、银行卡号码进行脱敏
  • 创建型——单例模式C++实现
  • 【华为OD统一考试B卷 | 100分】执行时长(C++ Java JavaScript Python)
  • 操作系统原理 —— 内存管理的概念(十八)
  • GPT-4国内怎么用
  • 搭建LightPicture开源免费图床系统「公网远程控制」
  • shell编程lesson06
  • 国内免费可用的ChatGPT网页版
  • 用同样的关键词测试不同的人工智能
  • shell变量类型含义 长方形面积计算 截取相应字段方法
  • Java:从单线程计数器到多线程数据同步synchronized和原子类Atomic
  • 提前进入行业顶尖阵营:高性能计算实习的竞争优势
  • Java程序设计入门教程--标识符和关键字
  • 国产IC芯片自动化测试系统ATECLOUD,助力芯片测试自动化
  • BeanFactory和ApplicationContext有什么区别?
  • js的BOM对象中的window、location使用
  • DAY 68 redis高可用的主从复制、哨兵、cluster集群
  • leetcode 1209 学会删除字符串
  • JavaScript6
  • 轻松安装Redis:不用担心配置问题
  • ChatGPT学习研究总结
  • SpringBoot枚举入参实战
  • Ansible介绍
  • GPT-4的免费使用方法分享