注意:文档以 word 格式提供,文件名起名规则:学号+姓名+实验报告名称
1、创建二叉树。按照用户需要的二叉树,构建二叉树。
2、将创建的二叉树,以树状形式输出。
3、分别以先序、中序、后序三种方式遍历访问二叉树。
4、输出二叉树的叶子结点及叶子结点的个数。
5、输出二叉树的高度。
为了实现以上功能,可以从三个方面着手设计。
1、主界面设计
为了实现二叉树相关操作功能的管理,设计一个含有多个菜单项的主控菜单子程序以链
接系统的各项子功能,方便用户使用本程序。本系统主控菜单运行界面如图1 所示。
首先请输入二叉树结点序列:
----------------------------欢迎使用二叉树基本操作程序-------------------------------
菜单选择
1. 树状输出二叉树
3. 中序遍历二叉树
5. 输出叶子结点
2. 先序遍历二叉树
4. 后序遍历二叉树
6. 输出叶子结点个数
8. 括号形式输出二叉树
--------------------------------------------------------------------------------------------------
图 1 二叉树基本操作程序主菜单
本程序采用二叉链式存储类型(BiTNode)存储二叉树的结点信息。二叉树的链表中的结
点至少包含 3 个域:数据域(data)、左孩子指针域(lchild)、右孩子指针域(rchild)。
3、系统功能设计
本程序除了完成二叉树的创建功能外还设置了 9 个子功能菜单。由于这 9 个子功能都
是建立在二叉树的构造上的,所以二叉树的创建由主函数main()实现。9 个子功能的设计描
述如下:
⑴树状输出二叉树。树状输出二叉树由函数 TranslevelPrint()实现。当用户选择此功能
时,系统即以树状的形式输出用户所创建的二叉树。
⑵先序遍历二叉树。由函数 Preorder()实现。该功能按照先序遍历访问二叉树的方法输
出先序序列。
⑶中序遍历二叉树。由函数 Inorder()实现。该功能按照中序遍历访问二叉树的方法输出
中序序列。
⑷后序遍历二叉树。由函数 Postorder()实现。该功能按照后序遍历访问二叉树的方法输
出后序序列。