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

成都市建设相关网站洛阳平台公司

成都市建设相关网站,洛阳平台公司,wordpress theme one-column,宁夏住房和城乡建设官网要求 实现二叉树的创建,并输入二叉树数据 然后先序遍历输出二叉树、中序遍历输出二叉树、后序输出二叉树 输出二叉树的深度、二叉树的叶子结点 例如二叉树为: 该二叉树的先序遍历结果为: A B D C E F 该二叉树的中序遍历结果为&#xff1a…

要求

实现二叉树的创建,并输入二叉树数据
然后先序遍历输出二叉树、中序遍历输出二叉树、后序输出二叉树
输出二叉树的深度、二叉树的叶子结点

例如二叉树为:
在这里插入图片描述
该二叉树的先序遍历结果为:

A B D C E F

该二叉树的中序遍历结果为:

B D A E C F

该二叉树的后序遍历结果为:

D B E F C A

该二叉树的深度为:

3

该二叉树的叶子结点为:

D E F

代码实现

#include <stdio.h>
#include <malloc.h>struct BiTNode{char data;struct BiTNode* LChild;     //左孩子结点struct BiTNode* RChild;     //右孩子结点
};//先序序列输入结点的值,构造二叉链表
void CreateBinTree(struct BiTNode **T){char ch;scanf("\n %c",&ch);if(ch=='0'){*T = NULL;} else{*T=(struct BiTNode *)malloc(sizeof(struct BiTNode));(*T)->data=ch;CreateBinTree(&(*T)->LChild);    //构建二叉树的左子树CreateBinTree(&(*T)->RChild);    //构建二叉树的右子树}
}// 先序遍历输出二叉树的结点值
void PreOrderOut(struct BiTNode *T){if(T){printf("%3c",T->data);      //访问结点的数据PreOrderOut(T->LChild);            //先序遍历二叉树的左子树PreOrderOut(T->RChild);            //先序遍历二叉树的右子树}
}// 中序遍历输出二叉树的结点值
void InOrderOut(struct BiTNode *T){if(T){InOrderOut(T->LChild);              //中序遍历二叉树的左子树printf("%3c",T->data);      //访问结点的数据InOrderOut(T->RChild);              //中序遍历二叉树的右子树}
}// 后序遍历输出二叉树的结点值
void PostOrderOut(struct BiTNode *T){if(T){PostOrderOut(T->LChild);             //后序遍历二叉树的左子树PostOrderOut(T->RChild);             //后序遍历二叉树的右子树printf("%3c",T->data);      //访问结点的数据}
}// 求二叉树的深度算法
int treehigh(struct BiTNode *T){int lh,rh,h;if(T == NULL){h = 0;} else{lh = treehigh(T->LChild);rh = treehigh(T->RChild);h = (lh>rh?lh:rh)+1;}return h;
}// 求二叉树的叶子结点
void inorder_leaf(struct BiTNode *T){if(T !=NULL){inorder_leaf(T->LChild);if((T->LChild==NULL)&&(T->RChild==NULL)){printf("%3c",T->data);}inorder_leaf(T->RChild);}
}int main(){struct BiTNode *Bt;printf("***************二叉树的输入操作***************\n");printf("请输入二叉树数据:");CreateBinTree(&Bt);printf("\n***************二叉树的先序遍历***************\n");printf("先序遍历结果:\n");PreOrderOut(Bt);printf("\n***************二叉树的中序遍历***************\n");printf("中序遍历结果:\n");InOrderOut(Bt);printf("\n***************二叉树的后序遍历***************\n");printf("后序遍历结果:\n");PostOrderOut(Bt);printf("\n***************求二叉树的深度***************\n");int h;h = treehigh(Bt);printf("该二叉树的深度为:%d",h);printf("\n***************求二叉树的叶子结点***************\n");printf("该二叉树的叶子结点为:");inorder_leaf(Bt);
}

输入二叉树(以先序序列输入为例)的数据:

A B 0 D 0 0 C E 0 0 F 0 0

运行结果

在这里插入图片描述

http://www.yayakq.cn/news/117585/

相关文章:

  • c 做网站起什么作用数据型网站建设
  • 建设部网站被黑培训机构加盟店排行榜
  • 东莞公司网站建设营销型网站建设福田网页设计
  • 上海中国建设银行网站建设企业网站登录
  • 中山市建设局投诉网站丽水网站建设专业的公司
  • 嘉兴网站关键词优化网站怎么做站长统计
  • 免费网站建设哪个好 - 百度建设网站免费
  • 商城网站设计价格wordpress 下载类主题
  • 创一东莞网站建设欢迎进入中国建设银行网站
  • html5 手机网站开发教程文件目录模板wordpress
  • 网站开发与维护难学吗十堰seo优化教程
  • 房地产网站建设背景新手怎样做网络营销推广
  • 网站如何被百度快速收录网站图片上传不了怎么办
  • 网站建设需要注意的关键细节网站底部流程
  • php外贸网站网站开发建设公司
  • 服装网站建设物流配送系统做企业网站还有钱挣吗
  • ps做的网站模板网站制作方案专业乐云seo
  • 婚庆公司网站网络营销策划书怎么写
  • 商城类网站用什么做滨江区做网站公司
  • 网站建设 中山做初中数学题的网站
  • 二 网站建设的目的及功能定位湖州网站建设哪家好
  • 做留言的网站新像素ui设计官网
  • 如何在阿里巴巴建设网站手机版网站如何制作
  • 建设一个电商网站的流程装宽带需要多少钱
  • 备案网站建设方案书模板wordpress卡核销
  • 做的网站如何放在电脑上广州市律师网站建设价格
  • 四川华远建设工程有限公司网站全能网站模板
  • 网站建设与营销经验厚街做网站的公司
  • 福州网站建?O行情宝app下载
  • 个人网站做经营性城乡建设官方网站