按定义definition创建二叉树的说明

发布时间:2016-12-18 14:14:15

操作CreateBiTreeTdefinition)的实现

首先要清楚逻辑上怎样唯一地确定二叉树,课堂上讲了3类方法。下面以第一类为例。

即带空子树的先序遍历序列。由于实验中二叉链表作为二叉树的物理结构,这样就可以确定CreateBiTreeTdefinetion)的说明为

CreateBiTreeBiTree TElemType definition[]

这里BiTree是结点指针类型,definition是数据元素数组,这个数组无法给出数组的大小(像学C语言时,整数序列排序,sortint aint n))。这个就要求输入时不要出错。

具体在菜单选择时:

case 3

1. 输入带空子树的先序遍历序列:definition

2. 调用CreateBiTreeTdefinition)。

实现操作CreateBiTree功能,可用多个函数实现。

CreateBiTreeBiTree TElemType definition[]{

。。。。。

调用P131的创建函数CreatBitree1

}

CreatBitree1BiTree T definition[](第2个参数提供结点数据definition,思考一下具体形式,甚至为了方便取数组元素,设置3个参数都可以))

{

依次输入definition的结点数据ch

根据ch的值,按教材流程处理。

}

以上是假定设计时,规定了按树的定义definition创建二叉树,提供了这个统一的使用方式,使用者按这个统一的接口使用创建操作、创建二叉树。

当然,如果直接按书上的程序,也能实现创建二叉树,也不会影响到后续的其它操作。但是这个调用接口被自行改变了,就显得不规范。

按定义definition创建二叉树的说明

相关推荐