二叉树的建立与遍历实验报告(c语言编写,附源代码).doc

第 1 页,共 9 页二叉树的建立与遍历实验报告级 班 年 月 日 姓名 学号_ 1实验题目建立一棵二叉树,并对其进行遍历(先序、中序、后序),打印输出遍历结果。2需求分析本程序用 VC 编写,实现建立一棵二叉树的功能,并对其进行遍历(先序、中序、后序),并且打印输出遍历结果。 输入的形式和输入值的范围输入二叉树的先序,当其结点为空时,需要输入。(输入的先序仅含字母和) 输出的形式输出二叉树的先序、中序、后序。 程序所能达到的功能实现建立一棵二叉树的功能,并对其进行遍历(先序、中序、后序),并且打印输出遍历结果。 测试数据输入数据输入 ABCDEGF输出结果二叉树的先序遍历为ABCDEGF二叉树的中序遍历为CBEGDFA二叉树的后序遍历为CGEFDBA3概要设计1 为了实现上述程序功能,需要定义二叉链表的抽象数据类型typedef struct BinaryTreeNode TElemType data;二叉树结点中的数据域struct BinaryTreeNode *lchild , *rchild; 二叉树结点的左孩子和右孩子指针BinaryTreeNode ,*BiTree;第 2 页,共 9 页基本操作A. void CreateBinaryTree BiTree 3中序遍历二叉树,并且输出中序遍历的结果 void MidOrderBiTree T; 4序遍历二叉树,并且输出后序遍历的结果 void PostOrderBiTree T; 5各函数间关系如下主函数 mainCreateBinaryTree PreOrder MidOrder PostOrder第 3 页,共 9 页4详细设计1 二叉链表的定义typedef struct BinaryTreeNode定义一个树结点的数据域;定义一个该结点的左孩子指针和右孩子指针;2 void CreateBinaryTree BiTree if输入字符 T 指针置值为 NULL;else 动态申请一个指向二叉树结构体的指针把输入字符赋值给新指针的数据域 data;调用 CreateBinaryTree新指针的 lchild 成员;调用 CreateBinaryTree新指针的 rchild 成员;3 void PreOrderBiTree T 先序遍历二叉树ifT指针不为NULL输出T的data域;先序遍历左子树; 先序遍历右子树;第 4 页,共 9 页4 void MidOrderBiTree T 中序遍历二叉树ifT指针不为NULL中序遍历左子树;输出T的data域;中序遍历右子树;5 void PostOrderBiTree T 中序遍历二叉树ifT指针不为NULL后序遍历左子树;后序遍历右子树;输出T的data域;5调试分析在编写程序过程中,我将 scanf(”c”,typedef struct BinaryTreeNode二叉链表的存储结构TElemType data;struct BinaryTreeNode *lchild , *rchild;BinaryTreeNode ,*BiTree;void CreateBinaryTree BiTree scanf“c“,ifch TNULL;else ifT BinaryTreeNode *malloc sizeofBinaryTreeNode exit -1;判断 malloc 函数是否获得符合要求的内存块,是则继续程序,否则使用 exit 函数强制退出程序第 7 页,共 9 页如果 malloc 函数无法获得符合要求的内存块,malloc 函数会返回 NULL 指针T-datach;CreateBinaryTreeT-lchild;CreateBinaryTreeT-rchild;void PreOrderBiTree T先序遍历二叉树ifTprintf“c “,T-data;PreOrderT-lchild; PreOrderT-rchild;void MidOrderBiTree T中序遍历二叉树ifTMidOrderT-lchild;第 8 页,共 9 页printf“c “,T-data;MidOrderT-rchild;void PostOrderBiTree T后序遍历二叉树ifTPostOrderT-lchild;PostOrderT-rchild;printf“c “,T-data;void mainBiTree Tree;printf“输入字符,先序建立二叉树n“;CreateBinaryTreeTree;printf“二叉树的先序遍历为n“;PreOrderTree;printf“n 二叉树的中序遍历为n“;第 9 页,共 9 页MidOrderTree;printf“n 二叉树的后序遍历为n“;PostOrderTree;getchar;getchar;

C语言二叉树实验报告流程图,二叉树的建立与遍历实验报告(c语言编写,附源代码).doc...相关推荐

  1. 二叉树的遍历实验报告C语言,二叉树的建立与遍历实验报告(c语言编写,附源代码)...

    程序用VC编写,实现建立一棵二叉树的功能,并对其进行遍历(先序.中序.后序),并且打印输出遍历结果. 二叉树的建立与遍历实验报告 级 班 年 月 日 姓名 学号_ 1.实验题目 建立一棵二叉树,并对其 ...

  2. 橘子苹果问题代码linux,多进程同步橘子苹果问题完整报告(附源代码).doc

    多进程同步橘子苹果问题完整报告(附源代码).doc 一. 课程设计目的 本次实验进行操作系统课程设计的主要任务是模拟生产者和消费者的一个衍生, 即实现"橘子-苹果问题" .这个问题 ...

  3. c语言程序设计机房机位预约系统,c语言课程设计 机房机位预定系统 绝对正确,附源代码.doc...

    c语言课程设计 机房机位预定系统 绝对正确,附源代码.doc 还剩 16页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: C 语言课程设计第 16 页共 ...

  4. 费诺编码实验报告c语言,信息论编码实验报告费诺编码附源代码..doc

    信息论编码实验报告费诺编码附源代码. 中南大学 信息论与编码实验报告 选 题: 费诺编码 学生姓名: 学 号: 专业班级: 通信工程 指导老师: 学 院: 信息科学与工程学院 时 间: 2015 目录 ...

  5. (九)二叉树的建立与遍历方法(c语言)(附代码与调试)

    一.二叉树 首先我们聊一聊什么是二叉树,二叉树就是n个节点的有限集合,该集合或者空集(称为空二叉树),或者由一个根节点和两课互不相交的分别称为根节点的左子树和右子树的二叉树组成. 一看这,嗨哟,挺复杂 ...

  6. c语言程序设计报告机房机位预定系统,c语言课程设计 机房机位预定系统 绝对正确,附源代码.doc...

    菲赦夸昨弹祭礁堑似雪陕躲八素览练俐责害臣慨惠叮宦雅吼此鲤郭所芭碾台岳芥舟荚讼惨讫独微藏蝶千染井虎上乍殆暴凛耪西香裤吾上同助喂摧喊秽抑俏叶监巧沧高击赃控凯戊疮烽株磕哗驳傣延菌越材桐执拓厢诲详句庇天编滑颧 ...

  7. java闹钟程序设计_JAVA课程设计_闹钟的设计与实现项目-报告_附源代码.doc

    JAVA课程设计_闹钟的设计与实现项目-报告_附源代码 第2章 MACROBUTTON AcceptAllChangesInDoc [双击此处键入1级标题] PAGE 2 - PAGE 1 - .. ...

  8. matlab车牌识别课程设计,matlab车牌识别课程设计报告模板(附源代码).doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspmatlab matlab车牌识别课程设计报告模板(附源代码). ...

  9. c语言编程员工管理的代码,员工信息管理完整(含附源代码).doc

    西安郵電學院 高级语言课程设计报告 题 目: 员 工 信 息 管 理 系 统 系部名称 : 电信系 专业名称 : 电子科学与技术 班 级 : 科技0701 班内序号 : 33 学生姓名 : 贾 春 阳 ...

最新文章

  1. python3 判断ip类型 ipv4 ipv6
  2. SAP中如何更改供应商账户组
  3. python爬取网易云歌单_详解python selenium 爬取网易云音乐歌单名
  4. mysql的程序怎么升级成mysqli_如何将mysql更改为mysqli?-问答-阿里云开发者社区-阿里云...
  5. html css position,[CSS]CSS Position 详解
  6. Swift中文教程(六)函数
  7. 我在优酷 OTT 端做自动化制图
  8. APACHE ACTIVEMQ安装
  9. datagrid设置单元格边框_更改 DataGridView 控件中的边框和网格线样式 - Windows Forms .NET Framework | Microsoft Docs...
  10. 程序员入门必备经典书单
  11. Java怎么学?分享6个学习窍门
  12. Eclipse 快捷键设置
  13. Windows 10 低版本驱动数字签名更新的必要性
  14. 如何使用Python来提取视频中的音频
  15. 挪车码微信小程序开发(隐私保护通话)
  16. 数据挖掘-python数据分析与挖掘实战
  17. C语言中的if、else if 的用法和区别
  18. C语言编写万年历,解决1582年历史问题
  19. NSMutableAttributedString图文并茂
  20. spring框架xml的几种配置方式

热门文章

  1. 使用brew安装软件
  2. IT团队如何赢得尊重?
  3. 爱立信数据分析解决方案抓住物联网发展机遇
  4. CRTMPServer 在CentOS 64-bit下的编译(转)
  5. 【译】《学习JavaScript设计模式》(二)
  6. MAC下面maven如何设置让其实下载源码
  7. lhgdialogV2.37 使用
  8. /etc/shadow 文件详解
  9. MCSE2003学习之一
  10. leetcode214. 最短回文串(kmp)