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

设计作品展示网站互联网宣传方式

设计作品展示网站,互联网宣传方式,线上职业技能培训平台,找人做网站服务器不是自己的怎么办要求 实现二叉树的创建,并输入二叉树数据 然后先序遍历输出二叉树、中序遍历输出二叉树、后序输出二叉树 输出二叉树的深度、二叉树的叶子结点 例如二叉树为: 该二叉树的先序遍历结果为: 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/877211/

相关文章:

  • 如何评价网站建设凡科建站代理商
  • 五河网站建设哪家好可以分销的平台
  • 临清网站推广东莞市有几个区
  • 开设一个网站的费用王也道长高清头像高马尾
  • 佛山网站优化体验网站被挂了黑链
  • 手机网站一键生成appwordpress报名功能
  • 网站如何绑定二级域名抚顺网站建设7113
  • 景宁建设局网站官方网站建设 招标公告
  • 深圳网站建设的公司网站开发市场现在怎么样
  • flash企业网站平台推广方案模板
  • 网站建设一级页面二级页面网站制作教程百度云
  • 请公司做网站没有做好可以退钱吗云建网站网址
  • 如何推广app让别人注册百度推广优化怎么做
  • wordpress加速网站插件网站整体迁移该怎么做
  • 建站经验建设部职业资格注册中心网站
  • 电脑做科目一网站用腾讯云做淘宝客网站视频流程
  • 海口网站排名推广顺义网站优化
  • wordpress地址和站点地址蔚县网站建设公司
  • 建筑搜索网站wordpress分类数据库参数
  • 网站建设 博贤科技哪里做网站
  • 一般小型教育网站的建设和开发做网站程序的步骤
  • 网站开发信息平台项目总结关于网页制作的毕业设计
  • 建站之星服务器WordPress移动端加搜索框
  • 网站设计是什么提升网站知名度
  • 义乌建设公司网站烟台网站制作专业
  • 东莞网站推广排名水果 网站源码
  • 做网站语言最好头像制作器
  • 网站服务器转移视频吗广州定制网站建设
  • 网站服务器宽带dedecms菜谱网站源码
  • 昆山专业做网站用wix做网站需要备案吗