博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二叉树的建立与遍历
阅读量:5953 次
发布时间:2019-06-19

本文共 2274 字,大约阅读时间需要 7 分钟。

#include
#include
#include
#include
typedef struct Node{ int data; struct Node *LChild; struct Node *RChild; } BitNode,*BitTree;//前序建立二叉树,遇到-1停止BitTree PreCreate(BitTree T){ int n; //printf("前序建立二叉树:请输入:\n"); scanf("%d",&n); if(n==-1)T=NULL; else{ T=(BitTree)malloc(sizeof(BitNode)); T->data=n; T->LChild=PreCreate(T->LChild); T->RChild=PreCreate(T->RChild); } return T;} //中序建立二叉树:不可行 BitTree MidCreate(BitTree T){ int n; //printf("中序建立二叉树:请输入:\n"); scanf("%d",&n); if(n==-1)T=NULL; else{ T=(BitTree)malloc(sizeof(BitNode)); T->LChild=MidCreate(T->LChild); T->data=n; T->RChild=MidCreate(T->RChild); } return T;} //后序建立二叉树:不唯一 BitTree LastCreate(BitTree T){ int n; //printf("后序建立二叉树:请输入:\n"); scanf("%d",&n); if(n==-1)T=NULL; else{ T=(BitTree)malloc(sizeof(BitNode)); T->LChild=LastCreate(T->LChild); T->RChild=LastCreate(T->RChild); T->data=n; } return T;} //先序遍历void PreRead(BitTree T){ if(T) { printf("%d",T->data); PreRead(T->LChild); PreRead(T->RChild); }} //中序遍历void MidRead(BitTree T){ if(T) { MidRead(T->LChild); printf("%d",T->data); MidRead(T->RChild); }} //后序遍历 void LastRead(BitTree T){ if(T) { LastRead(T->LChild); LastRead(T->RChild); printf("%d",T->data); }} int main(){ printf("前序建立二叉树:请输入:\n"); BitNode *T=PreCreate(T); printf("前序遍历:"); PreRead(T); printf("\n"); printf("中序遍历:"); MidRead(T); printf("\n"); printf("后序遍历:"); LastRead(T); printf("\n"); /* printf("中序建立二叉树:请输入:\n"); BitNode *T1=MidCreate(T1); printf("前序遍历:"); PreRead(T1); printf("\n"); printf("中序遍历:"); MidRead(T1); printf("\n"); printf("后序遍历:"); LastRead(T1); printf("\n"); printf("后序建立二叉树:请输入:\n"); BitNode *T2=LastCreate(T2); printf("前序遍历:"); PreRead(T2); printf("\n"); printf("中序遍历:"); MidRead(T2); printf("\n"); printf("后序遍历:"); LastRead(T2); printf("\n"); */ return 0;}
View Code

 

转载于:https://www.cnblogs.com/a842297171/p/4774892.html

你可能感兴趣的文章
RAC静默安装与DG搭建
查看>>
windows 下mysql的安装于使用(启动、关闭)
查看>>
Android 中文 API (28) —— CheckedTextView
查看>>
PHPStorm IDE 快捷键(MAC)
查看>>
反编译代码遇到的问题
查看>>
Android Bitmaps缓存
查看>>
learn go ifelse
查看>>
LINUX中常用操作命令
查看>>
SpringBoot配置属性之Server
查看>>
SharePoint 2013 入门教程
查看>>
JAVA基础一
查看>>
linux中的rootfs/initrd/ramfs/initramfs
查看>>
MyBatis Review——一对多关系映射配置
查看>>
FFMPEG实现的转码程序
查看>>
linux中的设备名称和设备号
查看>>
《Mastering opencv....读书笔记》基于标记的虚拟现实
查看>>
Wireshark抓取RTP包,还原语音
查看>>
利用linux的mtrace命令定位内存泄露(Memory Leak)
查看>>
Linux下安装nfs服务器
查看>>
hadoop: hbase1.0.1.1 伪分布安装
查看>>